Commit graph

252 commits

Author SHA1 Message Date
Konstantin Osipov
cf45b61a6a Backport of:
------------------------------------------------------------
revno: 2630.4.16
committer: Dmitry Lenev <dlenev@mysql.com>
branch nick: mysql-6.0-3726-w
timestamp: Thu 2008-05-29 09:45:02 +0400
message:
  WL#3726 "DDL locking for all metadata objects".

  After review changes in progress.

  Tweaked some comments and did some renames to
  avoid ambiguites.


sql/mysql_priv.h:
  Removed name_lock_locked_table() function.
sql/sql_base.cc:
  Got rid of name_lock_locked_table() function after replacing
  the only call to it with its body.
  Simplified open_table() code by making "action" argument
  mandatory (i.e. one now should always pass non-0 pointer
  in this argument).
  Renamed TABLE_LIST::open_table_type to open_type to
  avoid confusing it with type of table.
  Adjusted comments according to review.
sql/sql_handler.cc:
  Added comment clarifying in which cases we can have TABLE::mdl_lock
  set to 0.
sql/sql_insert.cc:
  Now the 4th argument of open_table() is mandatory (it makes
  no sense to complicate open_table() code when we can simply
  pass dummy variable).
sql/sql_parse.cc:
  Renamed TABLE_LIST::open_table_type to open_type to
  avoid confusing it with type of table.
sql/sql_prepare.cc:
  Renamed TABLE_LIST::open_table_type to open_type to
  avoid confusing it with type of table.
sql/sql_table.cc:
  Now the 4th argument of open_table() is mandatory (it makes
  no sense to complicate open_table() code when we can simply
  pass dummy variable).
sql/sql_trigger.cc:
  Replaced the only call to name_lock_locked_table() function
  with its body.
sql/sql_view.cc:
  Renamed TABLE_LIST::open_table_type to open_type to
  avoid confusing it with type of table.
sql/table.h:
  Renamed TABLE_LIST::open_table_type to open_type (to
  avoid confusing it with type of table) and improved
  comments describing this member.
2009-12-01 01:13:06 +03:00
Konstantin Osipov
0dcead9f61 Backport of:
------------------------------------------------------------
revno: 2630.4.14
committer: Dmitry Lenev <dlenev@mysql.com>
branch nick: mysql-6.0-3726-w
timestamp: Wed 2008-05-28 12:16:03 +0400
message:
  WL#3726 "DDL locking for all metadata objects".

  After review fixes in progress. Removed unused code and
  adjusted names of functions/methods to better reflect
  their current function.


sql/mysql_priv.h:
  Changed names of close_data_files_and_morph_locks() and
  close_handle_and_leave_table_as_lock() to better reflect
  their current function (locking is now responsibility
  of metadata locking subsystem).
sql/sql_base.cc:
  Changed names of close_data_files_and_morph_locks() and
  close_handle_and_leave_table_as_lock() to better reflect
  their current function (locking is now responsibility
  of metadata locking subsystem). Also adjusted comments
  describing these functions.
  Got rid of TABLE::open_placeholder since it is no longer
  used (its value is never read anywhere).
  TABLE::needs_reopen_or_name_lock() was renamed to needs_reopen()
  since we no longer use name-locks
sql/sql_handler.cc:
  TABLE::needs_reopen_or_name_lock() was renamed to needs_reopen()
  since we no longer use name-locks.
sql/sql_insert.cc:
  TABLE::needs_reopen_or_name_lock() was renamed to needs_reopen()
  since we no longer use name-locks
sql/sql_partition.cc:
  Changed name of close_data_files_and_morph_locks() to
  better reflect its current function (locking is now
  responsibility of metadata locking subsystem).
sql/sql_table.cc:
  Changed names of close_data_files_and_morph_locks() and
  close_handle_and_leave_table_as_lock() to better reflect
  their current function (locking is now responsibility
  of metadata locking subsystem).
  Got rid of TABLE::open_placeholder since it is no longer
  used.
sql/sql_trigger.cc:
  Changed name of close_data_files_and_morph_locks() to
  better reflect its current function (locking is now
  responsibility of metadata locking subsystem).
sql/table.h:
  Got rid of TABLE::open_placeholder which is no longer used
  altough its value was set in several places no code reads it).
  Removed unused TABLE::is_name_opened() method.
  Finally TABLE::needs_reopen_or_name_lock() was renamed to
  needs_reopen() since we no longer use name-locks.
2009-12-01 01:01:27 +03:00
Konstantin Osipov
eff3780dd8 Initial import of WL#3726 "DDL locking for all metadata objects".
Backport of:
------------------------------------------------------------
revno: 2630.4.1
committer: Dmitry Lenev <dlenev@mysql.com>
branch nick: mysql-6.0-3726-w
timestamp: Fri 2008-05-23 17:54:03 +0400
message:
  WL#3726 "DDL locking for all metadata objects".

  After review fixes in progress.
------------------------------------------------------------

This is the first patch in series. It transforms the metadata 
locking subsystem to use a dedicated module (mdl.h,cc). No 
significant changes in the locking protocol. 
The import passes the test suite with the exception of 
deprecated/removed 6.0 features, and MERGE tables. The latter
are subject to a fix by WL#4144.
Unfortunately, the original changeset comments got lost in a merge,
thus this import has its own (largely insufficient) comments.

This patch fixes Bug#25144 "replication / binlog with view breaks".
Warning: this patch introduces an incompatible change:
Under LOCK TABLES, it's no longer possible to FLUSH a table that 
was not locked for WRITE.
Under LOCK TABLES, it's no longer possible to DROP a table or
VIEW that was not locked for WRITE.

******
Backport of:
------------------------------------------------------------
revno: 2630.4.2
committer: Dmitry Lenev <dlenev@mysql.com>
branch nick: mysql-6.0-3726-w
timestamp: Sat 2008-05-24 14:03:45 +0400
message:
  WL#3726 "DDL locking for all metadata objects".

  After review fixes in progress.

******
Backport of:
------------------------------------------------------------
revno: 2630.4.3
committer: Dmitry Lenev <dlenev@mysql.com>
branch nick: mysql-6.0-3726-w
timestamp: Sat 2008-05-24 14:08:51 +0400
message:
  WL#3726 "DDL locking for all metadata objects"

  Fixed failing Windows builds by adding mdl.cc to the lists
  of files needed to build server/libmysqld on Windows.

******
Backport of:
------------------------------------------------------------
revno: 2630.4.4
committer: Dmitry Lenev <dlenev@mysql.com>
branch nick: mysql-6.0-3726-w
timestamp: Sat 2008-05-24 21:57:58 +0400
message:
  WL#3726 "DDL locking for all metadata objects".

  Fix for assert failures in kill.test which occured when one
  tried to kill ALTER TABLE statement on merge table while it
  was waiting in wait_while_table_is_used() for other connections
  to close this table.

  These assert failures stemmed from the fact that cleanup code
  in this case assumed that temporary table representing new
  version of table was open with adding to THD::temporary_tables
  list while code which were opening this temporary table wasn't
  always fulfilling this.

  This patch changes code that opens new version of table to
  always do this linking in. It also streamlines cleanup process
  for cases when error occurs while we have new version of table
  open.

******
WL#3726 "DDL locking for all metadata objects"
Add libmysqld/mdl.cc to .bzrignore.
******
Backport of:
------------------------------------------------------------
revno: 2630.4.6
committer: Dmitry Lenev <dlenev@mysql.com>
branch nick: mysql-6.0-3726-w
timestamp: Sun 2008-05-25 00:33:22 +0400
message:
  WL#3726 "DDL locking for all metadata objects".

  Addition to the fix of assert failures in kill.test caused by
  changes for this worklog.


Make sure we close the new table only once.

.bzrignore:
  Add libmysqld/mdl.cc
libmysqld/CMakeLists.txt:
  Added mdl.cc to the list of files needed for building of libmysqld.
libmysqld/Makefile.am:
  Added files implementing new meta-data locking subsystem to the server.
mysql-test/include/handler.inc:
  Use separate connection for waiting while threads performing DDL
  operations conflicting with open HANDLER tables reach blocked
  state. This is required because now we check and close tables open
  by HANDLER statements in this connection conflicting with DDL in
  another each time open_tables() is called and thus select from I_S
  which is used for waiting will unblock DDL operations if issued
  from connection with open HANDLERs.
mysql-test/r/create.result:
  Adjusted test case after change in implementation of CREATE TABLE
  ... SELECT.  We no longer have special check in open_table() which
  catches the case when we select from the table created. Instead we
  rely on unique_table() call which happens after opening and
  locking all tables.
mysql-test/r/flush.result:
  FLUSH TABLES WITH READ LOCK can no longer happen under LOCK
  TABLES.  Updated test accordingly.
mysql-test/r/flush_table.result:
  Under LOCK TABLES we no longer allow to do FLUSH TABLES for tables
  locked for read. Updated test accordingly.
mysql-test/r/handler_innodb.result:
  Use separate connection for waiting while threads performing DDL
  operations conflicting with open HANDLER tables reach blocked
  state. This is required because now we check and close tables open
  by HANDLER statements in this connection conflicting with DDL in
  another each time open_tables() is called and thus select from I_S
  which is used for waiting will unblock DDL operations if issued
  from connection with open HANDLERs.
mysql-test/r/handler_myisam.result:
  Use separate connection for waiting while threads performing DDL
  operations conflicting with open HANDLER tables reach blocked
  state. This is required because now we check and close tables open
  by HANDLER statements in this connection conflicting with DDL in
  another each time open_tables() is called and thus select from I_S
  which is used for waiting will unblock DDL operations if issued
  from connection with open HANDLERs.
mysql-test/r/information_schema.result:
  Additional test for WL#3726 "DDL locking for all metadata
  objects".  Check that we use high-priority metadata lock requests
  when filling I_S tables.
  
  Rearrange tests to match 6.0 better (fewer merge conflicts).
mysql-test/r/kill.result:
  Added tests checking that DDL and DML statements waiting for
  metadata locks can be interrupted by KILL command.
mysql-test/r/lock.result:
  One no longer is allowed to do DROP VIEW under LOCK TABLES even if
  this view is locked by LOCK TABLES. The problem is that in such
  situation write locks on view are not mutually exclusive so
  upgrading metadata lock which is required for dropping of view
  will lead to deadlock.
mysql-test/r/partition_column_prune.result:
  Update results (same results in 6.0), WL#3726
mysql-test/r/partition_pruning.result:
  Update results (same results in 6.0), WL#3726
mysql-test/r/ps_ddl.result:
  We no longer invalidate prepared CREATE TABLE ... SELECT statement
  if target table changes. This is OK since it is not strictly
  necessary.
  
  
  The first change is wrong, is caused by FLUSH TABLE
  now flushing all unused tables. This is a regression that
  Dmitri fixed in 6.0 in a follow up patch.
mysql-test/r/sp.result:
  Under LOCK TABLES we no longer allow accessing views which were
  not explicitly locked. To access view we need to obtain metadata
  lock on it and doing this under LOCK TABLES may lead to deadlocks.
mysql-test/r/view.result:
  One no longer is allowed to do DROP VIEW under LOCK TABLES even if
  this view is locked by LOCK TABLES. The problem is that in such
  situation even "write locks" on view are not mutually exclusive so
  upgrading metadata lock which is required for dropping of view
  will lead to deadlock
mysql-test/r/view_grant.result:
  ALTER VIEW implementation was changed to open a view only after
  checking that user which does alter has appropriate privileges on
  it. This means that in case when user's privileges are
  insufficient for this we won't check that new view definer is the
  same as original one or user performing alter has SUPER privilege.
  Adjusted test case accordingly.
mysql-test/r/view_multi.result:
  Added test case for bug#25144 "replication / binlog with view
  breaks".
mysql-test/suite/rpl/t/disabled.def:
  Disable test for deprecated features (they don't work with new MDL).
mysql-test/t/create.test:
  Adjusted test case after change in implementation of CREATE TABLE
  ... SELECT.  We no longer have special check in open_table() which
  catches the case when we select from the table created. Instead we
  rely on unique_table() call which happens after opening and
  locking all tables.
mysql-test/t/disabled.def:
  Disable merge.test, subject of WL#4144
mysql-test/t/flush.test:
  
  FLUSH TABLES WITH READ LOCK can no longer happen under LOCK
  TABLES.  Updated test accordingly.
mysql-test/t/flush_table.test:
  Under LOCK TABLES we no longer allow to do FLUSH TABLES for tables
  locked for read. Updated test accordingly.
mysql-test/t/information_schema.test:
  Additional test for WL#3726 "DDL locking for all metadata
  objects".  Check that we use high-priority metadata lock requests
  when filling I_S tables.
  
  Rearrange the results for easier merges with 6.0.
mysql-test/t/kill.test:
  Added tests checking that DDL and DML statements waiting for
  metadata locks can be interrupted by KILL command.
mysql-test/t/lock.test:
  One no longer is allowed to do DROP VIEW under LOCK TABLES even if
  this view is locked by LOCK TABLES. The problem is that in such
  situation write locks on view are not mutually exclusive so
  upgrading metadata lock which is required for dropping of view
  will lead to deadlock.
mysql-test/t/lock_multi.test:
  Adjusted test case to the changes of status in various places
  caused by change in implementation FLUSH TABLES WITH READ LOCK,
  which is now takes global metadata lock before flushing tables and
  therefore waits on at these places.
mysql-test/t/ps_ddl.test:
  We no longer invalidate prepared CREATE TABLE ... SELECT statement
  if target table changes. This is OK since it is not strictly
  necessary.
  
  
  The first change is wrong, is caused by FLUSH TABLE
  now flushing all unused tables. This is a regression that
  Dmitri fixed in 6.0 in a follow up patch.
mysql-test/t/sp.test:
  Under LOCK TABLES we no longer allow accessing views which were
  not explicitly locked. To access view we need to obtain metadata
  lock on it and doing this under LOCK TABLES may lead to deadlocks.
mysql-test/t/trigger_notembedded.test:
  Adjusted test case to the changes of status in various places
  caused by change in implementation FLUSH TABLES WITH READ LOCK,
  which is now takes global metadata lock before flushing tables and
  therefore waits on at these places.
mysql-test/t/view.test:
  One no longer is allowed to do DROP VIEW under LOCK TABLES even if
  this view is locked by LOCK TABLES. The problem is that in such
  situation even "write locks" on view are not mutually exclusive so
  upgrading metadata lock which is required for dropping of view
  will lead to deadlock.
mysql-test/t/view_grant.test:
  ALTER VIEW implementation was changed to open a view only after
  checking that user which does alter has appropriate privileges on
  it. This means that in case when user's privileges are
  insufficient for this we won't check that new view definer is the
  same as original one or user performing alter has SUPER privilege.
  Adjusted test case accordingly.
mysql-test/t/view_multi.test:
  Added test case for bug#25144 "replication / binlog with view
  breaks".
sql/CMakeLists.txt:
  Added mdl.cc to the list of files needed for building of server.
sql/Makefile.am:
  Added files implementing new meta-data locking subsystem to the
  server.
sql/event_db_repository.cc:
  
  Allocate metadata lock requests objects (MDL_LOCK) on execution
  memory root in cases when TABLE_LIST objects is also allocated
  there or on stack.
sql/ha_ndbcluster.cc:
  Adjusted code to work nicely with new metadata locking subsystem.
  close_cached_tables() no longer has wait_for_placeholder argument.
  Instead of relying on this parameter and related behavior FLUSH
  TABLES WITH READ LOCK now takes global shared metadata lock.
sql/ha_ndbcluster_binlog.cc:
  Adjusted code to work with new metadata locking subsystem.
  close_cached_tables() no longer has wait_for_placeholder argument.
  Instead of relying on this parameter and related behavior FLUSH
  TABLES WITH READ LOCK now takes global shared metadata lock.
sql/handler.cc:
  update_frm_version():
    Directly update TABLE_SHARE::mysql_version member instead of
    going through all TABLE instances for this table (old code was a
    legacy from pre-table-definition-cache days).
sql/lock.cc:
  Use new metadata locking subsystem. Threw away most of functions
  related to name locking as now one is supposed to use metadata
  locking API instead.  In lock_global_read_lock() and
  unlock_global_read_lock() in order to avoid problems with global
  read lock sneaking in at the moment when we perform FLUSH TABLES
  or ALTER TABLE under LOCK TABLES and when tables being reopened
  are protected only by metadata locks we also have to take global
  shared meta data lock.
sql/log_event.cc:
  Adjusted code to work with new metadata locking subsystem.  For
  tables open by slave thread for applying RBR events allocate
  memory for lock request object in the same chunk of memory as
  TABLE_LIST objects for them. In order to ensure that we keep these
  objects around until tables are open always close tables before
  calling Relay_log_info::clear_tables_to_lock(). Use new auxiliary
  Relay_log_info::slave_close_thread_tables() method to enforce
  this.
sql/log_event_old.cc:
  Adjusted code to work with new metadata locking subsystem.  Since
  for tables open by slave thread for applying RBR events memory for
  lock request object is allocated in the same chunk of memory as
  TABLE_LIST objects for them we have to ensure that we keep these
  objects around until tables are open. To ensure this we always
  close tables before calling
  Relay_log_info::clear_tables_to_lock(). To enfore this we use
  new auxiliary Relay_log_info::slave_close_thread_tables()
  method.
sql/mdl.cc:
  Implemented new metadata locking subsystem and API described in
  WL3726 "DDL locking for all metadata objects".
sql/mdl.h:
  Implemented new metadata locking subsystem and API described in
  WL3726 "DDL locking for all metadata objects".
sql/mysql_priv.h:
  - close_thread_tables()/close_tables_for_reopen() now has one more
    argument which indicates that metadata locks should be released
    but not removed from the context in order to be used later in
    mdl_wait_for_locks() and tdc_wait_for_old_version().
  - close_cached_table() routine is no longer public.
  - Thread waiting in wait_while_table_is_used() can be now killed
    so this function returns boolean to make caller aware of such
    situation.
  - We no longer have  table cache as separate entity instead used
    and unused TABLE instances are linked to TABLE_SHARE objects in
    table definition cache.
  - Now third argument of open_table() is also used for requesting
    table repair or auto-discovery of table's new definition. So its
    type was changed from bool to enum.
  - Added tdc_open_view() function for opening view by getting its
    definition from disk (and table cache in future).
  - reopen_name_locked_table() no longer needs "link_in" argument as
    now we have exclusive metadata locks instead of dummy TABLE
    instances when this function is called.
  - find_locked_table() now takes head of list of TABLE instances
    instead of always scanning through THD::open_tables list. Also
    added find_write_locked_table() auxiliary.
  - reopen_tables(), close_cached_tables() no longer have
    mark_share_as_old and wait_for_placeholder arguments. Instead of
    relying on this parameters and related behavior FLUSH TABLES
    WITH READ LOCK now takes global shared metadata lock.
  - We no longer need drop_locked_tables() and
    abort_locked_tables().
  - mysql_ha_rm_tables() now always assume that LOCK_open is not
    acquired by caller.
  - Added notify_thread_having_shared_lock() callback invoked by
    metadata locking subsystem when acquiring an exclusive lock, for
    each thread that has a conflicting shared metadata lock.
  - Introduced expel_table_from_cache() as replacement for
    remove_table_from_cache() (the main difference is that this new
    function assumes that caller follows metadata locking protocol
    and never waits).
  - Threw away most of functions related to name locking. One should
    use new metadata locking subsystem and API instead.
sql/mysqld.cc:
  Got rid of call initializing/deinitializing table cache since now
  it is embedded into table definition cache. Added calls for
  initializing/ deinitializing metadata locking subsystem.
sql/rpl_rli.cc:
  Introduced auxiliary Relay_log_info::slave_close_thread_tables()
  method which is used for enforcing that we always close tables
  open for RBR before deallocating TABLE_LIST elements and MDL_LOCK
  objects for them.
sql/rpl_rli.h:
  Introduced auxiliary Relay_log_info::slave_close_thread_tables()
  method which is used for enforcing that we always close tables
  open for RBR before deallocating TABLE_LIST elements and MDL_LOCK
  objects for them.
sql/set_var.cc:
  close_cached_tables() no longer has wait_for_placeholder argument.
  Instead of relying on this parameter and related behavior FLUSH
  TABLES WITH READ LOCK now takes global shared metadata lock.
sql/sp_head.cc:
  For tables added to the statement's table list by prelocking
  algorithm we allocate these objects either on the same memory as
  corresponding table list elements or on THD::locked_tables_root
  (if we are building table list for LOCK TABLES).
sql/sql_acl.cc:
  Allocate metadata lock requests objects (MDL_LOCK) on execution
  memory root in cases when we use stack TABLE_LIST objects to open
  tables.  Got rid of redundant code by using unlock_locked_tables()
  function.
sql/sql_base.cc:
  Changed code to use new MDL subsystem. Got rid of separate table
  cache.  Now used and unused TABLE instances are linked to the
  TABLE_SHAREs in table definition cache.
  
  check_unused():
    Adjusted code to the fact that we no longer have separate table
    cache.  Removed dead code.
  table_def_free():
    Free TABLE instances referenced from TABLE_SHARE objects before
    destroying table definition cache.
  get_table_share():
    Added assert which ensures that noone will be able to access
    table (and its share) without acquiring some kind of metadata
    lock first.
  close_handle_and_leave_table_as_lock():
    Adjusted code to the fact that TABLE instances now are linked to
    list in TABLE_SHARE.
  list_open_tables():
    Changed this function to use table definition cache instead of
    table cache.
  free_cache_entry():
    Unlink freed TABLE elements from the list of all TABLE instances
    for the table in TABLE_SHARE.
  kill_delayed_thread_for_table():
    Added auxiliary for killing delayed insert threads for
    particular table.
  close_cached_tables():
    Got rid of wait_for_refresh argument as we now rely on global
    shared metadata lock to prevent FLUSH WITH READ LOCK sneaking in
    when we are reopening tables. Heavily reworked this function to
    use new MDL code and not to rely on separate table cache entity.
  close_open_tables():
    We no longer have separate table cache.
  close_thread_tables():
    Release metadata locks after closing all tables. Added skip_mdl
    argument which allows us not to remove metadata lock requests
    from the context in case when we are going to use this requests
    later in mdl_wait_for_locks() and tdc_wait_for_old_versions().
  close_thread_table()/close_table_for_reopen():
    Since we no longer have separate table cache and all TABLE
    instances are linked to TABLE_SHARE objects in table definition
    cache we have to link/unlink TABLE object to/from appropriate
    lists in the share.
  name_lock_locked_table():
   Moved redundant code to find_write_locked_table() function and
    adjusted code to the fact that wait_while_table_is_used() can
    now return with an error if our thread is killed.
  reopen_table_entry():
    We no longer need "link_in" argument as with MDL we no longer
    call this function with dummy TABLE object pre-allocated and
    added to the THD::open_tables. Also now we add newly-open TABLE
    instance to the list of share's used TABLE instances.
  table_cache_insert_placeholder():
    Got rid of name-locking legacy.
  lock_table_name_if_not_cached():
    Moved to sql_table.cc the only place where it is used. It was
    also reimplemented using new MDL API.
  open_table():
    - Reworked this function to use new MDL subsystem.
    - Changed code to deal with table definition cache directly
      instead of going through separate table cache.
    - Now third argument is also used for requesting table repair
      or auto-discovery of table's new definition. So its type was
      changed from bool to enum.
  find_locked_table()/find_write_locked_table():
    Accept head of list of TABLE objects as first argument and use
    this list instead of always searching in THD::open_tables list.
    Also added auxiliary for finding write-locked locked tables.
  reopen_table():
    Adjusted function to work with new MDL subsystem and to properly
    manuipulate with lists of used/unused TABLE instaces in
    TABLE_SHARE.
  reopen_tables():
    Removed mark_share_as_old parameter. Instead of relying on it
    and related behavior FLUSH TABLES WITH READ LOCK now takes
    global shared metadata lock. Changed code after removing
    separate table cache.
  drop_locked_tables()/abort_locked_tables():
    Got rid of functions which are no longer needed.
    unlock_locked_tables():
    Moved this function from sql_parse.cc and changed it to release
    memory which was used for allocating metadata lock requests for
    tables open and locked by LOCK TABLES.
  tdc_open_view():
    Intoduced function for opening a view by getting its definition
    from disk (and table cache in future).
  reopen_table_entry():
    Introduced function for opening table definitions while holding
    exclusive metatadata lock on it.
  open_unireg_entry():
   Got rid of this function. Most of its functionality is relocated
    to open_table() and open_table_fini() functions, and some of it
    to reopen_table_entry() and tdc_open_view(). Also code
    resposible for auto-repair and auto-discovery of tables was
    moved to separate function.
  open_table_entry_fini():
    Introduced function which contains common actions which finalize
    process of TABLE object creation.
  auto_repair_table():
    Moved code responsible for auto-repair of table being opened
    here.
  handle_failed_open_table_attempt()
    Moved code responsible for handling failing attempt to open
    table to one place (retry due to lock conflict/old version,
    auto-discovery and repair).
  open_tables():
    - Flush open HANDLER tables if they have old version of if there
      is conflicting metadata lock against them (before this moment
      we had this code in open_table()).
    - When we open view which should be processed via derived table
      on the second execution of prepared statement or stored
      routine we still should call open_table() for it in order to
      obtain metadata lock on it and prepare its security context.
    - In cases when we discover that some special handling of
      failure to open table is needed call
      handle_failed_open_table_attempt() which handles all such
      scenarios.
  open_ltable():
    Handling of various special scenarios of failure to open a table
    was moved to separate handle_failed_open_table_attempt()
    function.
  remove_db_from_cache():
    Removed this function as it is no longer used.
  notify_thread_having_shared_lock():
    Added callback which is invoked by MDL subsystem when acquiring
    an exclusive lock, for each thread that has a conflicting shared
    metadata lock.
  expel_table_from_cache():
    Introduced function for removing unused TABLE instances. Unlike
    remove_table_from_cache() it relies on caller following MDL
    protocol and having appropriate locks when calling it and thus
    does not do any waiting if table is still in use.
  tdc_wait_for_old_version():
    Added function which allows open_tables() to wait in cases when
    we discover that we should back-off due to presence of old
    version of table.
  abort_and_upgrade_lock():
    Use new MDL calls.
  mysql_wait_completed_table():
    Got rid of unused function.
  open_system_tables_for_read/for_update()/performance_schema_table():
    Allocate MDL_LOCK objects on execution memory root in cases when
    TABLE_LIST objects for corresponding tables is allocated on
    stack.
  close_performance_schema_table():
    Release metadata locks after closing tables.
  ******
  Use I_P_List for free/used tables list in the table share.
sql/sql_binlog.cc:
  Use Relay_log_info::slave_close_thread_tables() method to enforce
  that we always close tables open for RBR before deallocating
  TABLE_LIST elements and MDL_LOCK objects for them.
sql/sql_class.cc:
  Added meta-data locking contexts as part of Open_tables_state
  context.  Also introduced THD::locked_tables_root memory root
  which is to be used for allocating MDL_LOCK objects for tables in
  LOCK TABLES statement (end of lifetime for such objects is UNLOCK
  TABLES so we can't use statement or execution root for them).
sql/sql_class.h:
  Added meta-data locking contexts as part of Open_tables_state
  context.  Also introduced THD::locked_tables_root memory root
  which is to be used for allocating MDL_LOCK objects for tables in
  LOCK TABLES statement (end of lifetime for such objects is UNLOCK
  TABLES so we can't use statement or execution root for them).
  
  Note: handler_mdl_context and locked_tables_root and
  mdl_el_root will be removed by subsequent patches.
sql/sql_db.cc:
  mysql_rm_db() does not really need to call remove_db_from_cache()
  as it drops each table in the database using
  mysql_rm_table_part2(), which performs all necessary operations on
  table (definition) cache.
sql/sql_delete.cc:
  Use the new metadata locking API for TRUNCATE.
sql/sql_handler.cc:
  Changed HANDLER implementation to use new metadata locking
  subsystem.  Note that MDL_LOCK objects for HANDLER tables are
  allocated in the same chunk of heap memory as TABLE_LIST object
  for those tables.
sql/sql_insert.cc:
  mysql_insert():
    find_locked_table() now takes head of list of TABLE object as
    its argument instead of always scanning through THD::open_tables
    list.
  handle_delayed_insert():
    Allocate metadata lock request object for table open by delayed
    insert thread on execution memroot.  create_table_from_items():
    We no longer allocate dummy TABLE objects for tables being
    created if they don't exist. As consequence
    reopen_name_locked_table() no longer has link_in argument.
    open_table() now has one more argument which is not relevant for
    temporary tables.
sql/sql_parse.cc:
  - Moved unlock_locked_tables() routine to sql_base.cc and made
    available it in other files. Got rid of some redundant code by
    using this function.
  - Replaced boolean TABLE_LIST::create member with enum
    open_table_type member.
  - Use special memory root for allocating MDL_LOCK objects for
    tables open and locked by LOCK TABLES (these object should live
    till UNLOCK TABLES so we can't allocate them on statement nor
    execution memory root). Also properly set metadata lock
    upgradability attribure for those tables.
  - Under LOCK TABLES it is no longer allowed to flush tables which
    are not write-locked as this breaks metadata locking protocol
    and thus potentially might lead to deadlock.
  - Added auxiliary adjust_mdl_locks_upgradability() function.
sql/sql_partition.cc:
  Adjusted code to the fact that reopen_tables() no longer has
  "mark_share_as_old" argument. Got rid of comments which are no
  longer true.
sql/sql_plist.h:
  Added I_P_List template class for parametrized intrusive doubly
  linked lists and I_P_List_iterator for corresponding iterator.
  Unlike for I_List<> list elements of such list can participate in
  several lists. Unlike List<> such lists are doubly-linked and
  intrusive.
sql/sql_plugin.cc:
  Allocate metadata lock requests objects (MDL_LOCK) on execution
  memory root in cases when we use stack TABLE_LIST objects to open
  tables.
sql/sql_prepare.cc:
  Replaced boolean TABLE_LIST::create member with enum
  open_table_type member.  This allows easily handle situation in
  which instead of opening the table we want only to take exclusive
  metadata lock on it.
sql/sql_rename.cc:
  Use new metadata locking subsystem in implementation of RENAME
  TABLE.
sql/sql_servers.cc:
  Allocate metadata lock requests objects (MDL_LOCK) on execution
  memory root in cases when we use stack TABLE_LIST objects to open
  tables. Got rid of redundant code by using unlock_locked_tables()
  function.
sql/sql_show.cc:
  Acquire shared metadata lock when we are getting information for
  I_S table directly from TABLE_SHARE without doing full-blown table
  open.  We use high priority lock request in this situation in
  order to avoid deadlocks.
  Also allocate metadata lock requests objects (MDL_LOCK) on
  execution memory root in cases when TABLE_LIST objects are also
  allocated there
sql/sql_table.cc:
  mysql_rm_table():
    Removed comment which is no longer relevant.
  mysql_rm_table_part2():
    Now caller of mysql_ha_rm_tables() should not own LOCK_open.
    Adjusted code to use new metadata locking subsystem instead of
    name-locks.
  lock_table_name_if_not_cached():
    Moved this function from sql_base.cc to this file and
    reimplemented it using metadata locking API.
  mysql_create_table():
    Adjusted code to use new MDL API.
  wait_while_table_is_used():
    Changed function to use new MDL subsystem. Made thread waiting
    in it killable (this also led to introduction of return value so
    caller can distinguish successful executions from situations
    when waiting was aborted).
  close_cached_tables():
    Thread waiting in this function is killable now. As result it
    has return value for distinguishing between succes and failure.
    Got rid of redundant boradcast_refresh() call.
  prepare_for_repair():
    Use MDL subsystem instead of name-locks.
  mysql_admin_table():
    mysql_ha_rm_tables() now always assumes that caller doesn't own
    LOCK_open.
  mysql_repair_table():
    We should mark all elements of table list as requiring
    upgradable metadata locks.
  mysql_create_table_like():
    Use new MDL subsystem instead of name-locks.
  create_temporary_tables():
    We don't need to obtain metadata locks when creating temporary
    table.
  mysql_fast_or_online_alter_table():
    Thread waiting in wait_while_table_is_used() is now killable.
  mysql_alter_table():
    Adjusted code to work with new MDL subsystem and to the fact
    that threads waiting in what_while_table_is_used() and
    close_cached_table() are now killable.
sql/sql_test.cc:
  We no longer have separate table cache. TABLE instances are now
  associated with/linked to TABLE_SHARE objects in table definition
  cache.
sql/sql_trigger.cc:
  Adjusted code to work with new metadata locking subsystem.  Also
  reopen_tables() no longer has mark_share_as_old argument (Instead
  of relying on this parameter and related behavior FLUSH TABLES
  WITH READ LOCK now takes global shared metadata lock).
sql/sql_udf.cc:
  Allocate metadata lock requests objects (MDL_LOCK) on execution
  memory root in cases when we use stack TABLE_LIST objects to open
  tables.
sql/sql_update.cc:
  Adjusted code to work with new meta-data locking subsystem.
sql/sql_view.cc:
  Added proper meta-data locking to implementations of
  CREATE/ALTER/DROP VIEW statements. Now we obtain exclusive
  meta-data lock on a view before creating/ changing/dropping it.
  This ensures that all concurrent statements that use this view
  will finish before our statement will proceed and therefore we
  will get correct order of statements in the binary log.
  Also ensure that TABLE_LIST::mdl_upgradable attribute is properly
  propagated for underlying tables of view.
sql/table.cc:
  Added auxiliary alloc_mdl_locks() function for allocating metadata
  lock request objects for all elements of table list.
sql/table.h:
  TABLE_SHARE:
    Got rid of unused members. Introduced members for storing lists
    of used and unused TABLE objects for this share.
  TABLE:
    Added members for linking TABLE objects into per-share lists of
    used and unused TABLE instances. Added member for holding
    pointer to metadata lock for this table.
  TABLE_LIST:
    Replaced boolean TABLE_LIST::create member with enum
    open_table_type member.  This allows easily handle situation in
    which instead of opening the table we want only to take
    exclusive meta-data lock on it (we need this in order to handle
    ALTER VIEW and CREATE VIEW statements).
    Introduced new mdl_upgradable member for marking elements of
    table list for which we need to take upgradable shared metadata
    lock instead of plain shared metadata lock.  Added pointer for
    holding pointer to MDL_LOCK for the table.
  Added auxiliary alloc_mdl_locks() function for allocating metadata
  lock requests objects for all elements of table list.  Added
  auxiliary set_all_mdl_upgradable() function for marking all
  elements in table list as requiring upgradable metadata locks.
storage/myisammrg/ha_myisammrg.cc:
  Allocate MDL_LOCK objects for underlying tables of MERGE table.
  To be reworked once Ingo pushes his patch for WL4144.
2009-11-30 18:55:03 +03:00
Alexander Nozdrin
52c66b5671 Manual merge/pull from mysql-next-mr.
Conflicts:
  - sql/sql_insert.cc
2009-11-25 18:03:05 +03:00
Konstantin Osipov
9a9e8d2311 Backport of:
----------------------------------------------------------------------
ChangeSet@1.2571, 2008-04-08 12:30:06+02:00, vvaintroub@wva. +122 -0
  Bug#32082 : definition of VOID in my_global.h conflicts with Windows
  SDK headers
  
  VOID macro is now removed. Its usage is replaced with void cast.
  In some cases, where cast does not make much sense (pthread_*, printf, 
  hash_delete, my_seek), cast is ommited.


client/mysqladmin.cc:
  Bug#32082 : remove VOID macro
client/mysqldump.c:
  Bug#32082 : remove VOID macro
client/mysqlimport.c:
  Bug#32082 : remove VOID macro
client/mysqlslap.c:
  Bug#32082 : remove VOID macro
client/mysqltest.cc:
  Bug#32082 : remove VOID macro
client/sql_string.cc:
  Bug#32082 : remove VOID macro
extra/comp_err.c:
  Bug#32082 : remove VOID macro
extra/replace.c:
  Bug#32082 : remove VOID macro
include/my_alarm.h:
  Bug#32082 : remove VOID macro
include/my_global.h:
  Bug#32082 : remove VOID macro
libmysql/libmysql.c:
  Bug#32082 : remove VOID macro
mysys/errors.c:
  Bug#32082 : remove VOID macro
mysys/hash.c:
  Bug#32082 : remove VOID macro
mysys/mf_iocache2.c:
  Bug#32082 : remove VOID macro
mysys/mf_loadpath.c:
  Bug#32082 : remove VOID macro
mysys/mf_path.c:
  Bug#32082 : remove VOID macro
mysys/my_append.c:
  Bug#32082 : remove VOID macro
mysys/my_clock.c:
  Bug#32082 : remove VOID macro
mysys/my_copy.c:
  Bug#32082 : remove VOID macro
mysys/my_fstream.c:
  Bug#32082 : remove VOID macro
mysys/my_getwd.c:
  Bug#32082 : remove VOID macro
mysys/my_lib.c:
  Bug#32082 : remove VOID macro
mysys/my_lockmem.c:
  Bug#32082 : remove VOID macro
mysys/my_pthread.c:
  Bug#32082 : remove VOID macro
mysys/my_redel.c:
  Bug#32082 : remove VOID macro
mysys/stacktrace.c:
  Bug#32082 : remove VOID macro
mysys/thr_alarm.c:
  Bug#32082 : remove VOID macro
mysys/thr_lock.c:
  Bug#32082 : remove VOID macro
sql/derror.cc:
  Bug#32082 : remove VOID macro
sql/des_key_file.cc:
  Bug#32082 : remove VOID macro
sql/discover.cc:
  Bug#32082 : remove VOID macro
sql/field.cc:
  Bug#32082 : remove VOID macro
sql/filesort.cc:
  Bug#32082 : remove VOID macro
sql/ha_ndbcluster.cc:
  Bug#32082 : remove VOID macro
sql/ha_partition.cc:
  Bug#32082 : remove VOID macro
sql/handler.cc:
  Bug#32082 : remove VOID macro
sql/hostname.cc:
  Bug#32082 : remove VOID macro
sql/init.cc:
  Bug#32082 : remove VOID macro
sql/item.cc:
  Bug#32082 : remove VOID macro
sql/item_cmpfunc.cc:
  Bug#32082 : remove VOID macro
sql/item_strfunc.cc:
  Bug#32082 : remove VOID macro
sql/lock.cc:
  Bug#32082 : remove VOID macro
sql/log.cc:
  Bug#32082 : remove VOID macro
sql/log_event.cc:
  Bug#32082 : remove VOID macro
sql/mysqld.cc:
  Bug#32082 : remove VOID macro
sql/opt_range.h:
  Bug#32082 : remove VOID macro
sql/protocol.cc:
  Bug#32082 : remove VOID macro
sql/records.cc:
  Bug#32082 : remove VOID macro
sql/sp_head.cc:
  Bug#32082 : remove VOID macro
sql/sp_pcontext.cc:
  Bug#32082 : remove VOID macro
sql/sql_acl.cc:
  Bug#32082 : remove VOID macro
sql/sql_base.cc:
  Bug#32082 : remove VOID macro
sql/sql_cache.cc:
  Bug#32082 : remove VOID macro
sql/sql_connect.cc:
  Bug#32082 : remove VOID macro
sql/sql_db.cc:
  Bug#32082 : remove VOID macro
sql/sql_delete.cc:
  Bug#32082 : remove VOID macro
sql/sql_handler.cc:
  Bug#32082 : remove VOID macro
sql/sql_insert.cc:
  Bug#32082 : remove VOID macro
sql/sql_map.cc:
  Bug#32082 : remove VOID macro
sql/sql_parse.cc:
  Bug#32082 : remove VOID macro
sql/sql_select.cc:
  Bug#32082 : remove VOID macro
sql/sql_servers.cc:
  Bug#32082 : remove VOID macro
sql/sql_show.cc:
  Bug#32082 : remove VOID macro
sql/sql_string.cc:
  Bug#32082 : remove VOID macro
sql/sql_table.cc:
  Bug#32082 : remove VOID macro
sql/sql_test.cc:
  Bug#32082 : remove VOID macro
sql/sql_trigger.cc:
  Bug#32082 : remove VOID macro
sql/sql_update.cc:
  Bug#32082 : remove VOID macro
sql/sql_view.cc:
  Bug#32082 : remove VOID macro
sql/table.cc:
  Bug#32082 : remove VOID macro
sql/tztime.cc:
  Bug#32082 : remove VOID macro
sql/udf_example.c:
  Bug#32082 : remove VOID macro
sql/uniques.cc:
  Bug#32082 : remove VOID macro
sql/unireg.cc:
  Bug#32082 : remove VOID macro
storage/archive/ha_archive.cc:
  Bug#32082 : remove VOID macro
storage/blackhole/ha_blackhole.cc:
  Bug#32082 : remove VOID macro
storage/csv/ha_tina.cc:
  Bug#32082 : remove VOID macro
storage/csv/transparent_file.cc:
  Bug#32082 : remove VOID macro
storage/example/ha_example.cc:
  Bug#32082 : remove VOID macro
storage/federated/ha_federated.cc:
  Bug#32082 : remove VOID macro
storage/heap/hp_clear.c:
  Bug#32082 : remove VOID macro
storage/heap/hp_create.c:
  Bug#32082 : remove VOID macro
storage/heap/hp_test1.c:
  Bug#32082 : remove VOID macro
storage/heap/hp_test2.c:
  Bug#32082 : remove VOID macro
storage/innobase/handler/ha_innodb.cc:
  Bug#32082 : remove VOID macro
storage/myisam/ft_eval.c:
  Bug#32082 : remove VOID macro
storage/myisam/ha_myisam.cc:
  Bug#32082 : remove VOID macro
storage/myisam/mi_changed.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_check.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_close.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_create.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_dbug.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_delete.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_delete_all.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_dynrec.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_info.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_locking.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_log.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_open.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_packrec.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_panic.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_rsame.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_statrec.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_test1.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_test2.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_test3.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_update.c:
  Bug#32082 : remove VOID macro
storage/myisam/mi_write.c:
  Bug#32082 : remove VOID macro
storage/myisam/myisamchk.c:
  Bug#32082 : remove VOID macro
storage/myisam/myisamlog.c:
  Bug#32082 : remove VOID macro
storage/myisam/myisampack.c:
  Bug#32082 : remove VOID macro
storage/myisam/sort.c:
  Bug#32082 : remove VOID macro
storage/myisammrg/myrg_close.c:
  Bug#32082 : remove VOID macro
storage/myisammrg/myrg_create.c:
  Bug#32082 : remove VOID macro
storage/myisammrg/myrg_open.c:
  Bug#32082 : remove VOID macro
strings/str_test.c:
  Bug#32082 : remove VOID macro
tests/thread_test.c:
  Bug#32082 : remove VOID macro
2009-11-24 16:54:59 +03:00
He Zhenxing
b9268fc8ea Auto merge 2009-11-21 12:48:54 +08:00
He Zhenxing
dd383cadec BUG#37148 Most callers of mysql_bin_log.write ignore the return result
This is the non-ndb part of the patch.

The return value of mysql_bin_log.write was ignored by most callers,
which may lead to inconsistent on master and slave if the transaction
was committed while the binlog was not correctly written. If
my_error() is call in mysql_bin_log.write, this could also lead to
assertion issue if my_ok() or my_error() is called after.

This fixed the problem by let the caller to check and handle the
return value of mysql_bin_log.write. This patch only adresses the
simple cases.


mysql-test/include/binlog_inject_error.inc:
  inject binlog write error when doing a query
mysql-test/suite/binlog/t/binlog_write_error.test:
  Simple test case to check if proper error is reported when injecting binlog write errors.
sql/events.cc:
  check return value of mysql_bin_log.write
sql/log.cc:
  check return value of mysql_bin_log.write
sql/log_event.cc:
  check return value of mysql_bin_log.write
sql/log_event_old.cc:
  check return value of mysql_bin_log.write
sql/mysql_priv.h:
  Change write_bin_log to return int instead of void
sql/rpl_injector.cc:
  check return value of writing binlog
sql/sp.cc:
  check return value of writing binlog
sql/sp_head.cc:
  return 1 if writing binlog failed
sql/sql_acl.cc:
  check return value of writing binlog
sql/sql_base.cc:
  check return value of writing binlog
sql/sql_class.h:
  Change binlog_show_create_table to return int
sql/sql_db.cc:
  Change write_to_binlog to return int
  check return value of writing binlog
sql/sql_delete.cc:
  check return value of writing binlog
sql/sql_insert.cc:
  check return value of writing binlog
sql/sql_load.cc:
  check return value of writing binlog
sql/sql_parse.cc:
  check return value of writing binlog
sql/sql_partition.cc:
  check return value of writing binlog
sql/sql_rename.cc:
  check return value of writing binlog
sql/sql_repl.cc:
  check return value of writing binlog
sql/sql_table.cc:
  Change write_bin_log to return int, and return 1 if there was error writing binlog
sql/sql_tablespace.cc:
  check return value of writing binlog
sql/sql_trigger.cc:
  check return value of writing binlog
sql/sql_udf.cc:
  check return value of writing binlog
sql/sql_update.cc:
  check return value of writing binlog
sql/sql_view.cc:
  check return value of writing binlog
2009-11-21 12:28:01 +08:00
Davi Arnaut
5aeeaaf507 Manual merge of mysql-next-mr-runtime upstream. 2009-11-19 21:48:08 -02:00
Davi Arnaut
e879919a9f Backport of Bug#15192 to mysql-next-mr
------------------------------------------------------------
revno: 2597.4.17
revision-id: sp1r-davi@mysql.com/endora.local-20080328174753-24337
parent: sp1r-anozdrin/alik@quad.opbmk-20080328140038-16479
committer: davi@mysql.com/endora.local
timestamp: Fri 2008-03-28 14:47:53 -0300
message:
  Bug#15192 "fatal errors" are caught by handlers in stored procedures

  The problem is that fatal errors (e.g.: out of memory) were being
  caught by stored procedure exception handlers which could cause
  the execution to not be stopped due to a continue handler.

  The solution is to not call any exception handler if the error is
  fatal and send the fatal error to the client.

mysql-test/r/sp-error.result:
  Add test case result for Bug#15192
mysql-test/t/sp-error.test:
  Add test case for Bug#15192
mysys/my_alloc.c:
  Pass flag to signal fatal error in memory root allocations.
sql/event_data_objects.cc:
  Use init_sql_alloc to initialize memory roots, which uses
  the sql error handler to push errors.
sql/ha_partition.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/item_func.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/item_subselect.cc:
  Remove redundant fatal error, memory root already pushes error.
sql/opt_sum.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/sp_head.cc:
  Allocator already sets fatal error.
sql/sql_class.h:
  A error must exist for it to be fatal. Pass flag to signal fatal
  error instead of calling fatal_error.
sql/sql_insert.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/sql_list.h:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/sql_parse.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/sql_partition.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/sql_select.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/sql_servers.cc:
  Use init_sql_alloc to initialize memory roots, which uses
  the sql error handler to push errors.
sql/sql_show.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/sql_trigger.cc:
  Use init_sql_alloc to initialize memory roots, which uses
  the sql error handler to push errors.
sql/sql_update.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/tztime.cc:
  Use init_sql_alloc to initialize memory roots, which uses
  the sql error handler to push errors.
2009-11-10 18:31:28 -02:00
Alexander Nozdrin
cd14c47c99 Manual merge from mysql-trunk-merge. 2009-11-05 23:28:35 +03:00
Kristofer Pettersson
0659b857e7 Bug#27145 EXTRA_ACL troubles
The flag EXTRA_ACL is used in conjugation with our access checks, yet it is
not clear what impact this flag has.
This is a code clean up which replaces use of EXTRA_ACL with an explicit
function parameter.
The patch also fixes privilege checks for:
- SHOW CREATE TABLE: The new privilege requirement is any privilege on
  the table-level.
- CHECKSUM TABLE: Requires SELECT on the table level.
- SHOW CREATE VIEW: Requires SHOW_VIEW and SELECT on the table level
  (just as the manual claims)
- SHOW INDEX: Requires any privilege on any column combination.


mysql-test/r/grant.result:
  * Error message now shows correct command (SHOW instead of SELECT)
mysql-test/r/grant2.result:
  * Error message now shows correct command (SHOW instead of SELECT)
mysql-test/r/grant4.result:
  * This test file tests privilege requirements for
    SHOW COLUMNS
    CREATE TABLE .. LIKE
    SHOW CREATE TABLE
    SHOW INDEX
    CHECKSUM TABLE
    SHOW CREATE VIEW
mysql-test/r/information_schema_db.result:
  * Added SELECT privilege to testdb_2 as
    SHOW CREATE VIEW now demands this privilege
    as well as SHOW VIEW.
mysql-test/r/outfile.result:
  * Changed error code
mysql-test/r/view_grant.result:
  * Additional SELECT privilege is now needed
    for SHOW CREATE VIEW
mysql-test/t/grant4.test:
  * This test file tests privilege requirements for
    SHOW COLUMNS
    CREATE TABLE .. LIKE
    SHOW CREATE TABLE
    SHOW INDEX
    CHECKSUM TABLE
    SHOW CREATE VIEW
mysql-test/t/information_schema_db.test:
  * Added SELECT privilege to testdb_2 as
    SHOW CREATE VIEW now demands this privilege
    as well as SHOW VIEW.
mysql-test/t/outfile.test:
  * Changed error code
mysql-test/t/view_grant.test:
  * Additional SELECT privilege is now needed
    for SHOW CREATE VIEW
sql/mysql_priv.h:
  * Replaced EXTRA_ACL with a parameter
sql/sp_head.cc:
  * Replaced EXTRA_ACL with a parameter
sql/sql_acl.cc:
  * Converted function documentation to doxygen and clarified some behaviors.
  * Changed value from uint to bool to better reflect its meaning.
  * Removed pointless variable orig_want_access
  * Added function has_any_table_level_privileges to help with requirements
    checks during SHOW CREATE TABLE.
sql/sql_acl.h:
  * changed signature of check_grant()
  * introduced access control function has_any_table_leevl_privileges()
sql/sql_base.cc:
  * Check_table_access has new signature
sql/sql_cache.cc:
  * Check_table_access has new signature
sql/sql_parse.cc:
  * Rewrote function documentation in doxygen comments for: check_access,
    check_table_acces, check_grant.
  * Removed EXTRA_ACL flag where it doesn't hold any meaningful purpose anymore
    and replaced it with a function parameter where any privileges on any column
    combination would satisfy the requirement.
  * Fixed privilege check for SHOW COLUMNS and SHOW INDEX
  * Modified check_table_access to gain clarity in what EXTRA_ACL actually does.
  * Modified check_access to gain clarity in what EXTRA_ACL actually does.
  * Fixed privilege check for CREATE TABLE .. LIKE .. ; It now requires SELECT
    privileges on the table.
  * Fixed privilege check for SHOW CREATE TABLE ..; It now requires any privilege
    on the table level.
sql/sql_plugin.cc:
  * check_table_access has new signature
sql/sql_prepare.cc:
  * check_table_access has new signature
sql/sql_show.cc:
  * check_table_access has new signature
sql/sql_trigger.cc:
  * check_table_access has new signature
sql/sql_update.cc:
  * check grant has new signature
sql/sql_view.cc:
  * check_table_access has new signature
2009-10-19 14:58:13 +02:00
Georgi Kodinov
7b4ef910f7 Bug #40877: multi statement execution fails in 5.1.30
Implemented the server infrastructure for the fix:

1. Added a function LEX_STRING *thd_query_string(THD) to return
a LEX_STRING structure instead of char *.
This is the function that must be called in innodb instead of 
thd_query()

2. Did some encapsulation in THD : aggregated thd_query and 
thd_query_length into a LEX_STRING and made accessor and mutator 
methods for easy code updating. 

3. Updated the server code to use the new methods where applicable.
2009-10-16 13:29:42 +03:00
Staale Smedseng
2380d465f0 Merge from 5.0-bugteam 2009-06-17 16:56:44 +02:00
Staale Smedseng
3b0e6e4109 Bug #43414 Parenthesis (and other) warnings compiling MySQL
with gcc 4.3.2
      
Compiling MySQL with gcc 4.3.2 and later produces a number of 
warnings, many of which are new with the recent compiler
versions.
                  
This bug will be resolved in more than one patch to limit the
size of changesets. This is the second patch, fixing more
of the warnings.
2009-06-17 15:54:01 +02:00
Staale Smedseng
a103509788 Bug #43414 Parenthesis (and other) warnings compiling MySQL
with gcc 4.3.2

Compiling MySQL with gcc 4.3.2 and later produces a number of 
warnings, many of which are new with the recent compiler
versions.
            
This bug will be resolved in more than one patch to limit the
size of changesets. This is the second patch, fixing more
of the warnings.
2009-06-10 16:04:07 +02:00
He Zhenxing
51a9116638 BUG#37145 Killing a statement doing DDL may log binlog event with error code 1053
When the thread executing a DDL was killed after finished its
execution but before writing the binlog event, the error code in
the binlog event could be set wrongly to ER_SERVER_SHUTDOWN or
ER_QUERY_INTERRUPTED.

This patch fixed the problem by ignoring the kill status when
constructing the event for DDL statements.

This patch also included the following changes in order to
provide the test case.

 1) modified mysqltest to support variable for connection command

 2) modified mysql-test-run.pl, add new variable MYSQL_SLAVE to
    run mysql client against the slave mysqld.
2009-03-27 13:19:50 +08:00
Ignacio Galarza
5b7347bda3 Bug#29125 Windows Server X64: so many compiler warnings
- Remove bothersome warning messages.  This change focuses on the warnings 
that are covered by the ignore file: support-files/compiler_warnings.supp.
- Strings are guaranteed to be max uint in length
2009-02-13 11:41:47 -05:00
Ignacio Galarza
54fbbf9591 Bug#29125 Windows Server X64: so many compiler warnings
- Remove bothersome warning messages.  This change focuses on the warnings 
that are covered by the ignore file: support-files/compiler_warnings.supp.
- Strings are guaranteed to be max uint in length
2009-02-10 17:47:54 -05:00
Ramil Kalimullin
53e42d9ee4 Fix for
bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
triggers
and
#41385: Crash when attempting to repair a #mysql50# upgraded table
with triggers.

Problem:
1. trigger code didn't assume a table name may have
a "#mysql50#" prefix, that may lead to a failing ASSERT().
2. "ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME" failed
for databases with "#mysql50#" prefix if any trigger.
3. mysqlcheck --fix-table-name didn't use UTF8 as a default
character set that resulted in (parsing) errors for tables with
non-latin symbols in their names and definitions of triggers.

Fix:
1. properly handle table/database names with "#mysql50#" prefix.
2. handle --default-character-set mysqlcheck option;
if mysqlcheck is launched with --fix-table-name or --fix-db-name
set default character set to UTF8 if no --default-character-set
option given.

Note: if given --fix-table-name or --fix-db-name option,
without --default-character-set mysqlcheck option
default character set is UTF8.


client/mysqlcheck.c:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  #41385: Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - check and set default charset if --default-character-set option
      given.
    - set default charset to "utf8" if there's
      --fix-table-name or --fix-db-name and no --default-character-set.
mysql-test/r/mysqlcheck.result:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  #41385: Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - test result.
mysql-test/t/mysqlcheck.test:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  #41385: Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - test case.
sql/mysql_priv.h:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  #41385: Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - check_n_cut_mysql50_prefix() introduced.
sql/sql_table.cc:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  #41385: Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - tablename_to_filename() code split into 2 parts
    - check_n_cut_mysql50_prefix() introduced to cut #mysql50# prefixes,
      used in the trigger code as well.
sql/sql_trigger.cc:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  #41385: Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - Table_triggers_list::check_n_load() - checking triggers assume
      a table/database name given may have "#mysql50#" prefix in some cases.
    - Table_triggers_list::change_table_name_in_triggers() -
      create .TRG file in new database directory and delete it in old one,
      as they may differ in case of
      "ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME"
    - Table_triggers_list::change_table_name_in_trignames() - remove stale .TRN
      files in #mysql50#dbname directory in case of database upgrade
    - Table_triggers_list::change_table_name() - allow changing trigger's
      database in case of its upgrading
sql/sql_trigger.h:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  #41385: Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - new old_db_name parameter added in
      Table_triggers_list::change_table_name_in_trignames() and
      Table_triggers_list::change_table_name_in_triggers()
2009-01-14 18:50:51 +04:00
Gleb Shchepa
8155de51e5 manual merge 5.0-bugteam --> 5.1-bugteam (bug 40021)
sql_view.cc: required_view_parameters has been decreased by 2 
(not by 1) because its value was incorrect: 16 instead of 15
(minor performance issue).


sql/sql_view.cc:
  sql_view.cc: required_view_parameters has been decreased by 2 
  (not by 1) because its value was incorrect: 16 instead of 15
  (minor performance issue).
2008-11-14 21:37:27 +04:00
Gleb Shchepa
56b9586fd1 Bug #40021: Renaming view fails, archived .frm for view is
missing after downgrade

Obsolete arc/ directory and view .frm file backup support
has been removed by the patch for bug 17823. However, that
bugfix caused a problem with "live downgrades" of the
server: if we rename some view 4 times under 5.1.29/5.0.72
and then try to rename it under 5.1.28/5.0.70 on the same
database, the server fails with a error:

  query 'RENAME TABLE ... TO ...' failed: 6: Error on
  delete of '....frm-0001' (Errcode: 2)

Also .frm file of that view may be lost (renamed to .frm~).

The server failed because it tried to rename latest 3
backup .frm files renaming the view: the server used an
integer value of the "revision" field of .frm file to
extract those file names. After the fix for bug 17823 those
files were not created/maintained any more, however the
"revision" field was incremented as usual. So, the server
failed renaming non existent files.

This fix solves the problem by removing the support for
"revision" .frm file field:
1. New server silently ignores existent "revision" fields
   in old .frm files and never write it down;
2. Old server assumes, that missing "revision" field in new
   .frm files means default value of 0.
3. Accordingly to the fix for bug 17823 the new server
   drops arc/ directory on alter/rename view, so after
   "live downgrade" old server begins maintenance of the
   arc/ directory from scratch without conflicts with .frm
   files.


sql/parse_file.cc:
  Bug #40021: Renaming view fails, archived .frm for view is
              missing after downgrade
  
  1. static write_parameter(): the old_version parameter
     and the section for FILE_OPTIONS_REV have been re moved.
  2. write_parameter(): the max_versions parameter has been
     removed;
  3. sql_create_definition_file(): removal of dead code;
  4. rename_in_schema_file(): revision and num_view_backups
     parameters and dead code have been removed;
  5. File_parser::parse(): FILE_OPTIONS_REV section has been
     removed.
sql/parse_file.h:
  Bug #40021: Renaming view fails, archived .frm for view is
              missing after downgrade
  
  1. The FILE_OPTIONS_REV constant has been removed.
  2. sql_create_definition_file and rename_in_schema_file
     functions: obsolete versions, revision and
     num_view_backups parameters have been removed.
sql/sql_db.cc:
  Bug #40021: Renaming view fails, archived .frm for view is
              missing after downgrade
  
  Commentary update.
sql/sql_trigger.cc:
  Bug #40021: Renaming view fails, archived .frm for view is
              missing after downgrade
  
  sql_create_definition_file() calls have been updates to
  new parameter lists.
sql/sql_view.cc:
  Bug #40021: Renaming view fails, archived .frm for view is
              missing after downgrade
  
  1. The mysql_create_view function code is used for both
     CREATE VIEW and ALTER queries, but query cache is
     necessary for ALTER command only. Check for a non first
     view revision has been replaced with a direct check for
     ALTER query.
  2. The num_view_backups global constant has been removed.
  3. view_parameters: the "revision" .frm field support has
     been removed.
  4. sql_create_definition_file and rename_in_schema_file
     function calls have been updates to new parameter lists.
sql/table.h:
  Bug #40021: Renaming view fails, archived .frm for view is
              missing after downgrade
  
  TABLE_LIST: the revision field has been removed.
2008-11-14 21:25:57 +04:00
Marc Alff
f34c99b4d8 Bug#35577, manual merge mysql-5.0-bugteam -> mysql-5.1-bugteam 2008-07-14 19:43:12 -06:00
Marc Alff
e73e7bb9ae Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
build)

The crash was caused by freeing the internal parser stack during the parser
execution.
This occured only for complex stored procedures, after reallocating the parser
stack using my_yyoverflow(), with the following C call stack:
- MYSQLparse()
- any rule calling sp_head::restore_lex()
- lex_end()
- x_free(lex->yacc_yyss), xfree(lex->yacc_yyvs)

The root cause is the implementation of stored procedures, which breaks the
assumption from 4.1 that there is only one LEX structure per parser call.

The solution is to separate the LEX structure into:
- attributes that represent a statement (the current LEX structure),
- attributes that relate to the syntax parser itself (Yacc_state),
so that parsing multiple statements in stored programs can create multiple
LEX structures while not changing the unique Yacc_state.

Now, Yacc_state and the existing Lex_input_stream are aggregated into
Parser_state, a structure that represent the complete state of the (Lexical +
Syntax) parser.


mysql-test/r/parser_stack.result:
  Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
  build)
mysql-test/t/parser_stack.test:
  Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
  build)
sql/sp.cc:
  Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
  build)
sql/sp_head.cc:
  Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
  build)
sql/sql_class.cc:
  Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
  build)
sql/sql_class.h:
  Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
  build)
sql/sql_lex.cc:
  Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
  build)
sql/sql_lex.h:
  Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
  build)
sql/sql_parse.cc:
  Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
  build)
sql/sql_prepare.cc:
  Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
  build)
sql/sql_trigger.cc:
  Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
  build)
sql/sql_view.cc:
  Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
  build)
sql/sql_yacc.yy:
  Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
  build)
2008-07-14 15:41:30 -06:00
unknown
14021c96c4 Rename send_ok to my_ok. Similarly to my_error, it only records the status,
does not send it to the client.
2008-02-19 15:45:21 +03:00
unknown
d639cdc39c Merge quad.:/mnt/raid/alik/MySQL/devel/5.1
into  quad.:/mnt/raid/alik/MySQL/devel/5.1-rt-merged


client/mysqlcheck.c:
  Auto merged
configure.in:
  Auto merged
extra/resolveip.c:
  Auto merged
include/my_sys.h:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/r/func_misc.result:
  Auto merged
mysql-test/r/information_schema.result:
  Auto merged
mysql-test/r/mysqlcheck.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
mysql-test/t/func_misc.test:
  Auto merged
mysql-test/t/information_schema.test:
  Auto merged
mysql-test/t/mysqlcheck.test:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.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_view.cc:
  Auto merged
storage/innobase/buf/buf0buf.c:
  Auto merged
storage/innobase/buf/buf0flu.c:
  Auto merged
storage/innobase/buf/buf0lru.c:
  Auto merged
storage/innobase/include/buf0buf.h:
  Auto merged
storage/innobase/include/buf0buf.ic:
  Auto merged
storage/innobase/include/sync0arr.h:
  Auto merged
storage/innobase/include/sync0rw.h:
  Auto merged
storage/innobase/include/sync0rw.ic:
  Auto merged
storage/innobase/include/sync0sync.h:
  Auto merged
storage/innobase/os/os0sync.c:
  Auto merged
storage/innobase/sync/sync0arr.c:
  Auto merged
storage/innobase/sync/sync0rw.c:
  Auto merged
storage/innobase/sync/sync0sync.c:
  Auto merged
storage/myisam/ft_boolean_search.c:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
storage/myisam/sort.c:
  Auto merged
sql/sql_parse.cc:
  Manual merge.
2008-02-01 13:55:39 +03:00
unknown
39509d64c3 A fix and a test case for Bug#34166 Server crash in SHOW OPEN TABLES and
pre-locking.

The crash was caused by an implicit assumption in check_table_access() that
table_list parameter is always a part of lex->query_tables.

When iterating over the passed list of tables, check_table_access() used
to stop only when lex->query_tables_last_not_own was reached. 
In case of pre-locking, lex->query_tables_last_own is not NULL and points
to some element of lex->query_tables. When the parameter
of check_table_access() was not part of lex->query_tables, loop invariant
could never be violated and a crash would happen when the current table
pointer would point beyond the end of the provided list.

The fix is to change the signature of check_table_access() to also accept
a numeric limit of loop iterations, similarly to check_grant(), and 
supply this limit in all places when we want to check access of tables
that are outside lex->query_tables, or just want to check access to one table.


mysql-test/r/information_schema.result:
  Update test results (Bug#34166).
mysql-test/t/information_schema.test:
  Add a test case for Bug#34166.
sql/mysql_priv.h:
  Change signature of check_table_access() to accept a numeric limit
  of tables to check.
sql/sp_head.cc:
  Update to the new signature of check_table_access().
sql/sql_acl.cc:
  Improve code clarity: if there is a numeric limit, we should not need
  to look at first_not_own_table.
sql/sql_base.cc:
  Update to the new signature of check_table_access().
sql/sql_cache.cc:
  Update to the new signature of check_table_access().
sql/sql_parse.cc:
  Update to the new signature of check_table_access().
  Change check_table_access() to accept an optional numeric limit of tables
  to check. A crash would happen when check_table_access() was
  passed a list of tables that is not part of lex->query_tables and
  lex->query_tables_last_own was not NULL.
sql/sql_plugin.cc:
  Update to the new signature of check_table_access().
sql/sql_prepare.cc:
  Update to the new signature of check_table_access().
sql/sql_show.cc:
  Update to the new signature of check_table_access().
  Ensure that check_table_access() only checks access to the first
  table in the table list when called from list_open_tables().
  list_open_tables() supplies a table list that is created on stack,
  whereas check_table_access() used to assume that the supplied list is a part
  of thd->lex.
sql/sql_trigger.cc:
  Update to the new signature of check_table_access().
sql/sql_view.cc:
  Update to the new signature of check_table_access().
2008-01-30 18:27:41 +03:00
unknown
18f5e87ed9 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint


sql/field.cc:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_geofunc.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/opt_sum.cc:
  Auto merged
sql/protocol.h:
  Auto merged
sql/records.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/structs.h:
  Auto merged
sql/unireg.h:
  Auto merged
sql/item.cc:
  manual merge
sql/log_event.cc:
  manual merge
sql/protocol.cc:
  manual merge
sql/sp_head.cc:
  manual merge
sql/sql_base.cc:
  manual merge
sql/sql_parse.cc:
  manual merge
sql/sql_select.cc:
  manual merge
2007-12-14 10:52:10 -05:00
unknown
87143063d3 Bug#23713 LOCK TABLES + CREATE TRIGGER + FLUSH TABLES WITH READ LOCK = deadlock
This bug is actually two bugs in one, one of which is CREATE TRIGGER under
LOCK TABLES and the other is CREATE TRIGGER under LOCK TABLES simultaneous
to a FLUSH TABLES WITH READ LOCK (global read lock). Both situations could
lead to a server crash or deadlock.

The first problem arises from the fact that when under LOCK TABLES, if the
table is in the set of locked tables, the table is already open and it doesn't
need to be reopened (not a placeholder). Also in this case, if the table is
not write locked, a exclusive lock can't be acquired because of a possible
deadlock with another thread also holding a (read) lock on the table. The
second issue arises from the fact that one should never wait for a global
read lock if it's holding any locked tables, because the global read lock
is waiting for these tables and this leads to a circular wait deadlock.

The solution for the first case is to check if the table is write locked
and upgraded the write lock to a exclusive lock and fail otherwise for non
write locked tables. Grabbin the exclusive lock in this case also means
to ensure that the table is opened only by the calling thread. The second
issue is partly fixed by not waiting for the global read lock if the thread
is holding any locked tables.

The second issue is only partly addressed in this patch because it turned
out to be much wider and also affects other DDL statements. Reported as
Bug#32395


mysql-test/r/trigger.result:
  Add test case result for Bug#23713
mysql-test/r/trigger_notembedded.result:
  Add test case result for Bug#23713
mysql-test/t/trigger.test:
  Add test case for Bug#23713
mysql-test/t/trigger_notembedded.test:
  Add test case for Bug#23713
sql/mysql_priv.h:
  Locally export wait_while_table_is_used and name_lock_locked_table
  and add flag to mysql_ha_rm_tables to signal that LOCK_open is locked.
sql/sql_base.cc:
  Introduce name_lock_locked_table function and match
  close_old_data_files function declaration and definition.
sql/sql_handler.cc:
  Add flag to mysql_ha_rm_tables to signal that LOCK_open is locked.
sql/sql_rename.cc:
  Fix mysql_ha_rm_tables caller.
sql/sql_table.cc:
  Export wait_while_table_is_used and assert that LOCK_open is locked
  and fix mysql_ha_rm_tables caller.
sql/sql_trigger.cc:
  Upgrade write locked tables to a exclusive lock and fail if
  the table is not write locked. Also, don't wait for the global
  read lock if under LOCK TABLES.
2007-11-29 09:42:26 -02:00
unknown
5f4bb8429e Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
corrupts a MERGE table

Post-pushbuild fix for a Valgrind warning.


mysql-test/r/merge.result:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Fixed test result.
mysql-test/t/merge.test:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Removed unnecessary statements from test.
sql/sql_trigger.cc:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Fixed usage of db and table_name for
  close_data_files_and_morph_locks().
2007-11-18 20:28:37 +01:00
unknown
c8450b278d Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
corrupts a MERGE table
Bug 26867 - LOCK TABLES + REPAIR + merge table result in
            memory/cpu hogging
Bug 26377 - Deadlock with MERGE and FLUSH TABLE
Bug 25038 - Waiting TRUNCATE
Bug 25700 - merge base tables get corrupted by
            optimize/analyze/repair table
Bug 30275 - Merge tables: flush tables or unlock tables
            causes server to crash
Bug 19627 - temporary merge table locking
Bug 27660 - Falcon: merge table possible
Bug 30273 - merge tables: Can't lock file (errno: 155)

The problems were:

Bug 26379 - Combination of FLUSH TABLE and REPAIR TABLE
                corrupts a MERGE table

  1. A thread trying to lock a MERGE table performs busy waiting while
     REPAIR TABLE or a similar table administration task is ongoing on
     one or more of its MyISAM tables.
  
  2. A thread trying to lock a MERGE table performs busy waiting until all
     threads that did REPAIR TABLE or similar table administration tasks
     on one or more of its MyISAM tables in LOCK TABLES segments do UNLOCK
     TABLES. The difference against problem #1 is that the busy waiting
     takes place *after* the administration task. It is terminated by
     UNLOCK TABLES only.
  
  3. Two FLUSH TABLES within a LOCK TABLES segment can invalidate the
     lock. This does *not* require a MERGE table. The first FLUSH TABLES
     can be replaced by any statement that requires other threads to
     reopen the table. In 5.0 and 5.1 a single FLUSH TABLES can provoke
     the problem.

Bug 26867 - LOCK TABLES + REPAIR + merge table result in
            memory/cpu hogging

  Trying DML on a MERGE table, which has a child locked and
  repaired by another thread, made an infinite loop in the server.

Bug 26377 - Deadlock with MERGE and FLUSH TABLE

  Locking a MERGE table and its children in parent-child order
  and flushing the child deadlocked the server.

Bug 25038 - Waiting TRUNCATE

  Truncating a MERGE child, while the MERGE table was in use,
  let the truncate fail instead of waiting for the table to
  become free.

Bug 25700 - merge base tables get corrupted by
            optimize/analyze/repair table

  Repairing a child of an open MERGE table corrupted the child.
  It was necessary to FLUSH the child first.

Bug 30275 - Merge tables: flush tables or unlock tables
            causes server to crash

  Flushing and optimizing locked MERGE children crashed the server.

Bug 19627 - temporary merge table locking

  Use of a temporary MERGE table with non-temporary children
  could corrupt the children.

  Temporary tables are never locked. So we do now prohibit
  non-temporary chidlren of a temporary MERGE table.

Bug 27660 - Falcon: merge table possible

  It was possible to create a MERGE table with non-MyISAM children.

Bug 30273 - merge tables: Can't lock file (errno: 155)

  This was a Windows-only bug. Table administration statements
  sometimes failed with "Can't lock file (errno: 155)".

These bugs are fixed by a new implementation of MERGE table open.

When opening a MERGE table in open_tables() we do now add the
child tables to the list of tables to be opened by open_tables()
(the "query_list"). The children are not opened in the handler at
this stage.

After opening the parent, open_tables() opens each child from the
now extended query_list. When the last child is opened, we remove
the children from the query_list again and attach the children to
the parent. This behaves similar to the old open. However it does
not open the MyISAM tables directly, but grabs them from the already
open children.

When closing a MERGE table in close_thread_table() we detach the
children only. Closing of the children is done implicitly because
they are in thd->open_tables.

For more detail see the comment at the top of ha_myisammrg.cc.

Changed from open_ltable() to open_and_lock_tables() in all places
that can be relevant for MERGE tables. The latter can handle tables
added to the list on the fly. When open_ltable() was used in a loop
over a list of tables, the list must be temporarily terminated
after every table for open_and_lock_tables().
table_list->required_type is set to FRMTYPE_TABLE to avoid open of
special tables. Handling of derived tables is suppressed.
These details are handled by the new function
open_n_lock_single_table(), which has nearly the same signature as
open_ltable() and can replace it in most cases.

In reopen_tables() some of the tables open by a thread can be
closed and reopened. When a MERGE child is affected, the parent
must be closed and reopened too. Closing of the parent is forced
before the first child is closed. Reopen happens in the order of
thd->open_tables. MERGE parents do not attach their children
automatically at open. This is done after all tables are reopened.
So all children are open when attaching them.

Special lock handling like mysql_lock_abort() or mysql_lock_remove()
needs to be suppressed for MERGE children or forwarded to the parent.
This depends on the situation. In loops over all open tables one
suppresses child lock handling. When a single table is touched,
forwarding is done.

Behavioral changes:
===================

This patch changes the behavior of temporary MERGE tables.
Temporary MERGE must have temporary children.
The old behavior was wrong. A temporary table is not locked. Hence
even non-temporary children were not locked. See
Bug 19627 - temporary merge table locking.

You cannot change the union list of a non-temporary MERGE table
when LOCK TABLES is in effect. The following does *not* work:
CREATE TABLE m1 ... ENGINE=MRG_MYISAM ...;
LOCK TABLES t1 WRITE, t2 WRITE, m1 WRITE;
ALTER TABLE m1 ... UNION=(t1,t2) ...;
However, you can do this with a temporary MERGE table.

You cannot create a MERGE table with CREATE ... SELECT, neither
as a temporary MERGE table, nor as a non-temporary MERGE table.
CREATE TABLE m1 ... ENGINE=MRG_MYISAM ... SELECT ...;
Gives error message: table is not BASE TABLE.


include/my_base.h:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Added HA_EXTRA_ATTACH_CHILDREN and HA_EXTRA_DETACH_CHILDREN.
include/myisammrg.h:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Added element 'children_attached' to MYRG_INFO.
  Added declarations for myrg_parent_open(),
  myrg_attach_children() and myrg_detach_children()
  for the new MERGE table open approach.
mysql-test/extra/binlog_tests/blackhole.test:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Preliminarily added new error message with a comment.
mysql-test/r/create.result:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Fixed test result.
mysql-test/r/delayed.result:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Moved test result from here to merge.result.
mysql-test/r/merge.result:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Fixed/added test result.
mysql-test/r/myisam.result:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Moved test result for bug 8306 from here to merge.result.
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Fixed test result.
mysql-test/t/create.test:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Fixed error number.
mysql-test/t/delayed.test:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Moved test from here to merge.test.
mysql-test/t/merge.test:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Fixed test for new temporary MERGE table behavior.
  Exchanged error numbers by symbolic codes.
  Added tests. Included are tests for bugs
  8306 (moved from myisam.test), 26379, 19627, 25038, 25700, 26377,
  26867, 27660, 30275, and 30273.
  Fixed changes resulting from disabled CREATE...SELECT.
  Integrated tests moved from delayed.test and myisam.test to here.
mysql-test/t/myisam.test:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Moved test for bug 8306 from here to merge.test.
mysys/thr_lock.c:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Added code to let the owner of a high priority lock (TL_WRITE_ONLY)
  to bypass its own lock.
sql/ha_ndbcluster_binlog.cc:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Added 'thd' argument to init_tmp_table_share().
sql/handler.cc:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Added 'thd' argument to init_tmp_table_share().
sql/mysql_priv.h:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Removed declaration of check_merge_table_access(). It is now static
  in sql_parse.cc.
  Added declaration for fix_merge_after_open().
  Renamed open_and_lock_tables() to open_and_lock_tables_derived()
  with additional parameter 'derived'.
  Added inline functions simple_open_n_lock_tables() and
  open_and_lock_tables(), which call open_and_lock_tables_derived()
  and add the argument for 'derived'.
  Added new function open_n_lock_single_table(), which can be used
  as an replacement for open_ltable() in most situations. Internally
  it calls simple_open_n_lock_tables() so hat it is appropriate for
  MERGE tables.
  Added 'thd' argument to init_tmp_table_share().
sql/slave.cc:
  ug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Added comment.
sql/sql_base.cc:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  
  Defined new functions add_merge_table_list(),
  attach_merge_children(), detach_merge_children(), and
  fix_merge_after_open() for the new MERGE table open approach.
  
  Added calls of the new functions to
  close_handle_and_leave_table_as_lock(), close_thread_tables(),
  close_thread_table(), unlink_open_table(), reopen_name_locked_table(),
  reopen_table(), drop_locked_tables(), close_temporary_table(),
  and open_tables() respectively.
  
  Prevented special lock handling of merge children (like
  mysql_lock_remove, mysql_lock_merge or mysql_lock_abort)
  at many places. Some of these calls are forwarded to the
  parent table instead.
  
  Added code to set thd->some_tables_deleted for every thread that has
  a table open that we are flushing.
  Added code for MERGE tables to unlink_open_table().
  Added MERGE children to the list of unusable tables in open_table().
  Added MERGE table handling to reopen_table().
  Added lock handling and closing of a parent before the children
  in close_data_files_and_morph_locks().
  Added code for re-attaching children in reopen_tables().
  Added MYSQL_LOCK_NOTIFY_IF_NEED_REOPEN to the locking flags and
  error reporting after mysql_lock_tables() in reopen_tables().
  Added lock handling and closing of a parent before the children
  in close_old_data_files().
  Added lock handling and detaching in drop_locked_tables().
  Added code for removing the children list from the statement list
  to prepare for a repetition in open_tables().
  Added new function open_n_lock_single_table(), which can be used
  as an replacement for open_ltable() in most situations. Internally
  it calls simple_open_n_lock_tables() so hat it is appropriate for
  MERGE tables.
  Disabled use of open_ltable() for MERGE tables.
  Removed function simple_open_n_lock_tables(). It is now inline
  declared in mysql_priv.h.
  Renamed open_and_lock_tables() to open_and_lock_tables_derived()
  with additional parameter 'derived'. open_and_lock_tables() is now
  inline declared in mysql_priv.h.
  Added a check for end-of-list in two loops in lock_tables().
  Added 'thd' argument to init_tmp_table_share().
sql/sql_insert.cc:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Changed from open_ltable() to open_n_lock_single_table() in
  handle_delayed_insert().
  Reestablished LEX settings after lex initialization.
  Added 'thd' argument to init_tmp_table_share().
sql/sql_parse.cc:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Made check_merge_table_access() a static function.
  Disabled use of CREATE...SELECT for MERGE tables.
sql/sql_partition.cc:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Fixed comment typo.
sql/sql_select.cc:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Added 'thd' argument to init_tmp_table_share().
sql/sql_table.cc:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Optimized use of mysql_ha_flush() in mysql_rm_table_part2().
  Disabled the use of MERGE tables with prepare_for_restore() and
  prepare_for_repair().
  Changed from open_ltable() to open_n_lock_single_table() in
  mysql_alter_table() and mysql_checksum_table().
  Disabled change of child list under LOCK TABLES.
  Initialized table_list->table in mysql_recreate_table().
sql/sql_trigger.cc:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Added code for allowing CREATE TRIGGER under LOCK TABLE, to be able
  to test it with MERGE tables.
sql/table.cc:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Added 'thd' argument to init_tmp_table_share().
  Setting table_map_id from query_id in init_tmp_table_share().
  Added member function TABLE::is_children_attached().
sql/table.h:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Added access method get_table_def_version() to TABLE_SHARE.
  Added elements for MERGE tables to TABLE and TABLE_LIST.
storage/myisam/ha_myisam.cc:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Added an unrelated comment to the function comment of table2myisam().
storage/myisam/ha_myisam.h:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Added new member function MI_INFO::file_ptr().
storage/myisammrg/ha_myisammrg.cc:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Added callback functions to support parent open and children attach
  of MERGE tables.
  Changed ha_myisammrg::open() to initialize storage engine structures
  and create a list of child tables only. Child tables are not opened.
  Added ha_myisammrg::attach_children(), which does now the main part
  of MERGE open.
  Added ha_myisammrg::detach_children().
  Added calls to ::attach_children() and ::detach_children() to
  ::extra() on HA_EXTRA_ATTACH_CHILDREN and HA_EXTRA_DETACH_CHILDREN
  respectively.
  Added a check for matching TEMPORARY type for children against
  parent.
  Added a check for table def version.
  Added support for thd->open_options to attach_children().
  Changed child path name generation for temporary tables so that
  it does nothing special for temporary tables.
storage/myisammrg/ha_myisammrg.h:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Added elements to class ha_myisammrg to support the new
  open approach.
  Changed empty destructor definition to a declaration.
  Implemented in ha_myisammrg.cc.
  Added declaration for methods attach_children() and
  detach_children().
  Added definition for method table_ptr() for use with
  callback functions.
storage/myisammrg/myrg_close.c:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Added a check to avoid closing of MyISAM tables when the
  child tables are not attached.
  Added freeing of rec_per_key_part when the child tables
  are not attached.
storage/myisammrg/myrg_extra.c:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  Some ::extra() functions and ::reset() can be called when
  children are detached.
storage/myisammrg/myrg_open.c:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE
              corrupts a MERGE table
  
  Kept old myrg_open() for MERGE use independent from MySQL.
  Removed an always true condition in myrg_open().
  Set children_attached for independent MERGE use in myrg_open().
  
  Added myrg_parent_open(), myrg_attach_children(), and
  myrg_detach_children() for the new MERGE table open approach.
mysql-test/r/merge-big.result:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE corrupts a MERGE table
  New test result
mysql-test/t/merge-big.test:
  Bug#26379 - Combination of FLUSH TABLE and REPAIR TABLE corrupts a MERGE table
  New test case
2007-11-15 20:25:43 +01:00
unknown
4a0ec7864e Doxygenized comments. 2007-10-16 15:37:31 -04:00
unknown
5c836d24f6 Fixed whitespace 2007-09-04 16:40:27 -06:00
unknown
c514373cf3 Fix doxygen warnings.
client/mysqldump.c:
  Fix doxygen warnings
mysys/test_charset.c:
  Fix doxygen warnings
sql/event_db_repository.cc:
  Fix doxygen warnings
sql/events.cc:
  Fix doxygen warnings
sql/events.h:
  Fix doxygen warnings
sql/item_create.cc:
  Fix doxygen warnings, style.
sql/item_create.h:
  Fix coding style.
sql/item_subselect.cc:
  Fix doxygen warnings
sql/lock.cc:
  Fix doxygen warnings
sql/sp.cc:
  Fix doxygen warnings
sql/sp_head.h:
  Fix doxygen warnings
sql/sql_analyse.cc:
  Fix doxygen warnings
sql/sql_analyse.h:
  Fix doxygen warnings
sql/sql_base.cc:
  Fix doxygen warnings
sql/sql_db.cc:
  Fix doxygen warnings
sql/sql_lex.cc:
  Fix doxygen warnings
sql/sql_lex.h:
  Fix doxygen warnings
sql/sql_parse.cc:
  Fix doxygen warnings
sql/sql_plugin.cc:
  Fix doxygen warnings
sql/sql_prepare.cc:
  Fix doxygen warnings
sql/sql_show.cc:
  Fix doxygen warnings
sql/sql_trigger.cc:
  Fix doxygen warnings
sql/sql_update.cc:
  Fix doxygen warnings
sql/table.h:
  Fix doxygen warnings
2007-08-15 17:43:08 +04:00
unknown
9562c54a5c Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime


mysql-test/r/trigger.result:
  Auto merged
mysql-test/t/query_cache.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_trigger.h:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/table.cc:
  Auto merged
storage/myisam/ha_myisam.h:
  Auto merged
mysql-test/include/mix1.inc:
  Manual merge.
mysql-test/r/information_schema.result:
  Manual merge.
mysql-test/r/innodb_mysql.result:
  Manual merge.
mysql-test/r/query_cache.result:
  Manual merge.
mysql-test/r/sp.result:
  Manual merge.
mysql-test/t/information_schema.test:
  Manual merge.
sql/handler.h:
  Manual merge.
sql/sp.cc:
  Manual merge.
sql/sp_head.cc:
  Manual merge.
sql/sql_prepare.cc:
  Manual merge.
sql/sql_trigger.cc:
  Manual merge.
sql/sql_yacc.yy:
  Manual merge.
sql/table.h:
  Manual merge.
storage/myisam/ha_myisam.cc:
  Manual merge.
2007-07-16 23:31:36 +04:00
unknown
393e0f6541 Fix a compiler warning. 2007-07-14 05:22:24 +04:00
unknown
9dc3088f9e A fix and a test case for Bug#26141 mixing table types in trigger
causes full table lock on innodb table.
Also fixes Bug#28502 Triggers that update another innodb table 
will block on X lock unnecessarily (duplciate).
Code review fixes.

Both bugs' synopses are misleading: InnoDB table is
not X locked. The statements, however, cannot proceed concurrently, 
but this happens due to lock conflicts for tables used in triggers,
not for the InnoDB table. 

If a user had an InnoDB table, and two triggers, AFTER UPDATE and 
AFTER INSERT, competing for different resources (e.g. two distinct
MyISAM tables), then these two triggers would not be able to execute
concurrently. Moreover, INSERTS/UPDATES of the InnoDB table would
not be able to run concurrently. 
The problem had other side-effects (see respective bug reports).

This behavior was a consequence of a shortcoming of the pre-locking
algorithm, which would not distinguish between different DML operations
(e.g. INSERT and DELETE) and pre-lock all the tables
that are used by any trigger defined on the subject table.

The idea of the fix is to extend the pre-locking algorithm to keep track,
for each table, what DML operation it is used for and not
load triggers that are known to never be fired.


mysql-test/r/trigger-trans.result:
  Update results (Bug#26141)
mysql-test/r/trigger.result:
  Update results (Bug#28502)
mysql-test/t/trigger-trans.test:
  Add a test case for Bug#26141 mixing table types in trigger causes 
  full table lock on innodb table.
mysql-test/t/trigger.test:
  Add a test case for Bug#28502 Triggers that update another innodb 
  table will block echo on X lock unnecessarily. Add more test 
  coverage for triggers.
sql/item.h:
  enum trg_event_type is needed in table.h
sql/sp.cc:
  Take into account table_list->trg_event_map when determining
  what tables to pre-lock. 
  
  After this change, if we attempt to fire a 
  trigger for which we had not pre-locked any tables, error
  'Table was not locked with LOCK TABLES' will be printed.
  This, however, should never happen, provided the pre-locking
  algorithm has no programming bugs.
  
  Previously a trigger key in the sroutines hash was based on the name 
  of the table the trigger belongs to. This was possible because we would
  always add to the pre-locking list all the triggers defined for a table when
  handling this table.
  Now the key is based on the name of the trigger, owing
  to the fact that a trigger name must be unique in the database it
  belongs to.
sql/sp_head.cc:
  Generate sroutines hash key in init_spname(). This is a convenient
  place since there we have all the necessary information and can
  avoid an extra alloc.
  
  Maintain and merge trg_event_map when adding and merging elements
  of the pre-locking list.
sql/sp_head.h:
  Add ,m_sroutines_key member, used when inserting the sphead for a
  trigger into the cache of routines used by a statement.
  Previously the key was based on the table name the trigger belonged
  to, since for a given table we would add to the sroutines list
  all the triggers defined on it.
sql/sql_lex.cc:
  Introduce a new lex step: set_trg_event_type_for_tables().
  It is called when we have finished parsing but before opening
  and locking tables. Now this step is used to evaluate for each
  TABLE_LIST instance which INSERT/UPDATE/DELETE operation, if any,
  it is used in.
  In future this method could be extended to aggregate other information
  that is hard to aggregate during parsing.
sql/sql_lex.h:
  Add declaration for set_trg_event_type_for_tables().
sql/sql_parse.cc:
  Call set_trg_event_type_for_tables() after MYSQLparse(). Remove tabs.
sql/sql_prepare.cc:
  Call set_trg_event_type_for_tables() after  MYSQLparse().
sql/sql_trigger.cc:
  Call set_trg_event_type_for_tables() after MYSQLparse().
sql/sql_trigger.h:
  Remove an obsolete member.
sql/sql_view.cc:
  Call set_trg_event_type_for_tables() after MYSQLparse().
sql/sql_yacc.yy:
  Move assignment of sp_head::m_type before calling sp_head::init_spname(), 
  one is now used inside another.
sql/table.cc:
  Implement TABLE_LIST::set_trg_event_map() - a method that calculates
  wh triggers may be fired on this table when executing a statement.
sql/table.h:
  Add missing declarations.
  Move declaration of trg_event_type from item.h (it will be needed for 
  trg_event_map bitmap when we start using Bitmap template instead
  of uint8).
2007-07-12 22:26:41 +04:00
unknown
be11de7a8e Merge adventure.(none):/home/thek/Development/cpp/bug21074/my51-bug21074
into  adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime


sql/ha_ndbcluster.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_rename.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_cache.cc:
  Manual merge.
2007-07-02 21:03:10 +02:00
unknown
289cc26c64 Bug#21074 Large query_cache freezes mysql server sporadically under heavy load
Invaldating a subset of a sufficiently large query cache can take a long time.
During this time the server is efficiently frozen and no other operation can
be executed. This patch addresses this problem by moving the locks which cause
the freezing and also by temporarily disable the query cache while the 
invalidation takes place.


sql/ha_ndbcluster.cc:
  - mysql_rm_table_part2 has a new parameter to indicate if OPEN_lock mutex 
    protection is needed.
sql/lock.cc:
  - Added function for acquiring table name exclusive locks.
  - Added function for asserting that table name lock is acquired.
sql/mysql_priv.h:
  - Added function for acquiring table name exclusive locks.
  - Added function for asserting that table name lock is acquired.
  - Added parameter to mysql_rm_table_part2 to indicate whether OPEN_lock mutex
    protection is needed or not.
sql/sql_cache.cc:
  - Changed flush_in_progress-flag into a state and added a function, 
    is_flushing() to reflect on this state. A new state was needed to indicate
    that a partial invalidation was in progress.
  - An unused parameter 'under_guard' was removed.
  - The Query_cache mutex structural_guard was pushed down into one
    invalidate_table function to avoid multiple entry points which makes
    maintainens more difficult.
  - Instead of keeping the structural_guard mutex during the entire invalidation
    we set the query cache status state to TABLE_FLUSH_IN_PROGRESS to
    temporarily disable the cache and avoid locking other threads needing the
    Query_cache resource.
sql/sql_cache.h:
  - Changed flush_in_progress-flag into a state and added a function, 
    is_flushing() to reflect on this state. A new state was needed to indicate
    that a partial invalidation was in progress.
  - An unused parameter 'under_guard' was removed.
  - The Query_cache mutex structural_guard was pushed down into one
    invalidate_table function to avoid multiple entry points which makes
    maintainens more difficult.
  - Instead of keeping the structural_guard mutex during the entire invalidation
    we set the query cache status state to TABLE_FLUSH_IN_PROGRESS to
    temporarily disable the cache and avoid locking other threads needing the
    the Query_cache resource.
sql/sql_db.cc:
  - mysql_rm_table_part2_with_lock is redundant and replaced
  with mysql_rm_table_part2.
sql/sql_parse.cc:
  - Function query_cache_invalidate3 isn't protect by a lock and we have a 
    race condition.
  - Moving this function into mysql_rename_tables and make sure it is protected
    by a exclusive table name lock.
sql/sql_rename.cc:
  - Function query_cache_invalidation3 isn't protect by a lock and we have a 
    race condition.
  - Moving this function into mysql_rename_tables and make sure it is protected
    by a exclusive table name lock.
  - Instead of using LOCK_open mutex, which excludes all other threads, the lock
    is changed into exclusive table name locks instead. This prevents us from
    locking the server if a query cache invalidation would take a long time to
    complete.
sql/sql_table.cc:
  - Instead of using LOCK_open mutex, which excludes all other threads, the lock
    is changed into exclusive table name locks instead. This prevents us from
    locking the server if a query cache invalidation would take a long time to
    complete.
  - Added new parameter to mysql_rm_table_part2 to control whether OPEN_lock mutex
    needs to be aquired or not. This is currently needed by the NDB implemenation.
sql/sql_trigger.cc:
  - Table_triggers don't need to be protexted by LOCK_open mutex. This 
    patch cancel this restriction.
  - Refactored comments to doxygen style.
2007-07-02 19:14:48 +02:00
unknown
405f82d390 Patch for the following bugs:
- BUG#11986: Stored routines and triggers can fail if the code
    has a non-ascii symbol
  - BUG#16291: mysqldump corrupts string-constants with non-ascii-chars
  - BUG#19443: INFORMATION_SCHEMA does not support charsets properly
  - BUG#21249: Character set of SP-var can be ignored
  - BUG#25212: Character set of string constant is ignored (stored routines)
  - BUG#25221: Character set of string constant is ignored (triggers)

There were a few general problems that caused these bugs:
1. Character set information of the original (definition) query for views,
   triggers, stored routines and events was lost.
2. mysqldump output query in client character set, which can be
   inappropriate to encode definition-query.
3. INFORMATION_SCHEMA used strings with mixed encodings to display object
   definition;

1. No query-definition-character set.

In order to compile query into execution code, some extra data (such as
environment variables or the database character set) is used. The problem
here was that this context was not preserved. So, on the next load it can
differ from the original one, thus the result will be different.

The context contains the following data:
  - client character set;
  - connection collation (character set and collation);
  - collation of the owner database;

The fix is to store this context and use it each time we parse (compile)
and execute the object (stored routine, trigger, ...).

2. Wrong mysqldump-output.

The original query can contain several encodings (by means of character set
introducers). The problem here was that we tried to convert original query
to the mysqldump-client character set.

Moreover, we stored queries in different character sets for different
objects (views, for one, used UTF8, triggers used original character set).

The solution is
  - to store definition queries in the original character set;
  - to change SHOW CREATE statement to output definition query in the
    binary character set (i.e. without any conversion);
  - introduce SHOW CREATE TRIGGER statement;
  - to dump special statements to switch the context to the original one
    before dumping and restore it afterwards.

Note, in order to preserve the database collation at the creation time,
additional ALTER DATABASE might be used (to temporary switch the database
collation back to the original value). In this case, ALTER DATABASE
privilege will be required. This is a backward-incompatible change.

3. INFORMATION_SCHEMA showed non-UTF8 strings

The fix is to generate UTF8-query during the parsing, store it in the object
and show it in the INFORMATION_SCHEMA.

Basically, the idea is to create a copy of the original query convert it to
UTF8. Character set introducers are removed and all text literals are
converted to UTF8.

This UTF8 query is intended to provide user-readable output. It must not be
used to recreate the object.  Specialized SHOW CREATE statements should be
used for this.

The reason for this limitation is the following: the original query can
contain symbols from several character sets (by means of character set
introducers).

Example:

  - original query:
    CREATE VIEW v1 AS SELECT _cp1251 'Hello' AS c1;

  - UTF8 query (for INFORMATION_SCHEMA):
    CREATE VIEW v1 AS SELECT 'Hello' AS c1;


client/mysqldump.c:
  Set original character set and collation before dumping definition query.
include/my_sys.h:
  Move out-parameter to the end of list.
mysql-test/lib/mtr_report.pl:
  Ignore server-warnings during the test case.
mysql-test/r/create.result:
  Update result file.
mysql-test/r/ctype_cp932_binlog_stm.result:
  Update result file.
mysql-test/r/events.result:
  Update result file.
mysql-test/r/events_bugs.result:
  Update result file.
mysql-test/r/events_grant.result:
  Update result file.
mysql-test/r/func_in.result:
  Update result file.
mysql-test/r/gis.result:
  Update result file.
mysql-test/r/grant.result:
  Update result file.
mysql-test/r/information_schema.result:
  Update result file.
mysql-test/r/information_schema_db.result:
  Update result file.
mysql-test/r/lowercase_view.result:
  Update result file.
mysql-test/r/mysqldump.result:
  Update result file.
mysql-test/r/ndb_sp.result:
  Update result file.
mysql-test/r/ps.result:
  Update result file.
mysql-test/r/rpl_replicate_do.result:
  Update result file.
mysql-test/r/rpl_sp.result:
  Update result file.
mysql-test/r/rpl_trigger.result:
  Update result file.
mysql-test/r/rpl_view.result:
  Update result file.
mysql-test/r/show_check.result:
  Update result file.
mysql-test/r/skip_grants.result:
  Update result file.
mysql-test/r/sp-destruct.result:
  Update result file.
mysql-test/r/sp-error.result:
  Update result file.
mysql-test/r/sp-security.result:
  Update result file.
mysql-test/r/sp.result:
  Update result file.
mysql-test/r/sql_mode.result:
  Update result file.
mysql-test/r/system_mysql_db.result:
  Update result file.
mysql-test/r/temp_table.result:
  Update result file.
mysql-test/r/trigger-compat.result:
  Update result file.
mysql-test/r/trigger-grant.result:
  Update result file.
mysql-test/r/trigger.result:
  Update result file.
mysql-test/r/view.result:
  Update result file.
mysql-test/r/view_grant.result:
  Update result file.
mysql-test/t/events.test:
  Update test case (new columns added).
mysql-test/t/information_schema.test:
  Update test case (new columns added).
mysql-test/t/show_check.test:
  Test case for SHOW CREATE TRIGGER in prepared statements and
  stored routines.
mysql-test/t/sp-destruct.test:
  Update test case (new columns added).
mysql-test/t/sp.test:
  Update test case (new columns added).
mysql-test/t/view.test:
  Update test.
mysys/charset.c:
  Move out-parameter to the end of list.
scripts/mysql_system_tables.sql:
  Add new columns to mysql.proc and mysql.event.
scripts/mysql_system_tables_fix.sql:
  Add new columns to mysql.proc and mysql.event.
sql/event_data_objects.cc:
  Support new attributes for events.
sql/event_data_objects.h:
  Support new attributes for events.
sql/event_db_repository.cc:
  Support new attributes for events.
sql/event_db_repository.h:
  Support new attributes for events.
sql/events.cc:
  Add new columns to SHOW CREATE event resultset.
sql/mysql_priv.h:
  1. Introduce Object_creation_ctx;
  2. Introduce SHOW CREATE TRIGGER;
  3. Introduce auxilary functions.
sql/sp.cc:
  Add support for new store routines attributes.
sql/sp_head.cc:
  Add support for new store routines attributes.
sql/sp_head.h:
  Add support for new store routines attributes.
sql/sql_lex.cc:
  Generate UTF8-body on parsing/lexing.
sql/sql_lex.h:
  1. Generate UTF8-body on parsing/lexing.
  2. Introduce SHOW CREATE TRIGGER.
sql/sql_parse.cc:
  Introduce SHOW CREATE TRIGGER.
sql/sql_partition.cc:
  Update parse_sql().
sql/sql_prepare.cc:
  Update parse_sql().
sql/sql_show.cc:
  Support new attributes for views
sql/sql_trigger.cc:
  Support new attributes for views
sql/sql_trigger.h:
  Support new attributes for views
sql/sql_view.cc:
  Support new attributes for views
sql/sql_yacc.yy:
  1. Add SHOW CREATE TRIGGER statement.
  2. Generate UTF8-body for views, stored routines, triggers and events.
sql/table.cc:
  Introduce Object_creation_ctx.
sql/table.h:
  Introduce Object_creation_ctx.
sql/share/errmsg.txt:
  Add new errors.
mysql-test/include/ddl_i18n.check_events.inc:
  Aux file for test suite.
mysql-test/include/ddl_i18n.check_sp.inc:
  Aux file for test suite.
mysql-test/include/ddl_i18n.check_triggers.inc:
  Aux file for test suite.
mysql-test/include/ddl_i18n.check_views.inc:
  Aux file for test suite.
mysql-test/include/have_cp1251.inc:
  Aux file for test suite.
mysql-test/include/have_cp866.inc:
  Aux file for test suite.
mysql-test/include/have_koi8r.inc:
  Aux file for test suite.
mysql-test/include/have_utf8.inc:
  Aux file for test suite.
mysql-test/r/ddl_i18n_koi8r.result:
  Result file.
mysql-test/r/ddl_i18n_utf8.result:
  Result file.
mysql-test/r/have_cp1251.require:
  Aux file for test suite.
mysql-test/r/have_cp866.require:
  Aux file for test suite.
mysql-test/r/have_koi8r.require:
  Aux file for test suite.
mysql-test/r/have_utf8.require:
  Aux file for test suite.
mysql-test/t/ddl_i18n_koi8r.test:
  Complete koi8r test case for the CS patch.
mysql-test/t/ddl_i18n_utf8.test:
  Complete utf8 test case for the CS patch.
2007-06-28 21:34:54 +04:00
unknown
362852ba80 Merge gleb.loc:/home/uchum/work/bk/5.1
into  gleb.loc:/home/uchum/work/bk/5.1-opt


sql/item.h:
  Auto merged
sql/log_event.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_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
mysql-test/r/rpl_change_master.result:
  Merge with 5.1.
mysql-test/t/rpl_change_master.test:
  Merge with 5.1.
sql/sql_acl.cc:
  Merge with 5.1.
2007-06-25 03:40:30 +05:00
unknown
fe593bf1ab Bug #26418: Slave out of sync after
CREATE/DROP TEMPORARY TABLE + ROLLBACK on master

The transaction ability of the storage engines of
the tables on the replication master and the replication
slave must generally be the same.
When the storage engine type of the slave is 
non-transactional then transactions on the master that 
mix update of transactional and non-transactional tables
should be avoided because they will cause inconsistency of
the data between the master's transactional table and the
slave's non-transactional table.

The effect described by this bug is actually expected.
A detailed test case is added (to be merged later to
the updated rpl_ddl.test), as there was no coverage 
by the existing tests. 
Some code cleanup is also added by this change.


mysql-test/r/rpl_innodb.result:
  Bug #26418: test case
mysql-test/t/rpl_innodb.test:
  Bug #26418: test case
sql/events.cc:
  Bug #26418: replace repeating code with a function call
sql/sp.cc:
  Bug #26418: replace repeating code with a function call
sql/sql_acl.cc:
  Bug #26418: replace repeating code with a function call
sql/sql_class.cc:
  Bug #26418: remove dead code
sql/sql_class.h:
  Bug #26418: remove dead code
sql/sql_delete.cc:
  Bug #26418: replace repeating code with a function call
sql/sql_parse.cc:
  Bug #26418: replace repeating code with a function call
sql/sql_rename.cc:
  Bug #26418: replace repeating code with a function call
sql/sql_tablespace.cc:
  Bug #26418: replace repeating code with a function call
sql/sql_trigger.cc:
  Bug #26418: replace repeating code with a function call
sql/sql_udf.cc:
  Bug #26418: replace repeating code with a function call
sql/sql_view.cc:
  Bug #26418: replace repeating code with a function call
2007-06-19 14:27:53 +03:00
unknown
c6d220e9fb Fix typo in the patch for BUG#25411 on 24-Apr-2007.
sql/handler.cc:
  Polishing to have the consistent code.
sql/sp_head.cc:
  Polishing to have the consistent code.
sql/sql_error.cc:
  Polishing to have the consistent code.
sql/sql_trigger.cc:
  Polishing to have the consistent code.
2007-06-19 01:54:35 +04:00
unknown
83de46bcf7 This the 4-th patch in scope of CS patch (BUG#11986).
The patch contains the following changes:
  - Introduce auxilary functions to convenient work with character sets:
    - resolve_charset();
    - resolve_collation();
    - get_default_db_collation();
  - Introduce lex_string_set();
  - Refactor Table_trigger_list::process_triggers() &
    sp_head::execute_trigger() to be consistent with other code;
  - Move reusable code from add_table_for_trigger() into
    build_trn_path(), check_trn_exists() and load_table_name_for_trigger()
    to be used in the following patch.
  - Rename triggers_file_ext and trigname_file_ext into TRN_EXT and
    TRG_EXT respectively.


include/my_sys.h:
  Introduced auxilary functions (to be used in the following patch).
mysys/charset.c:
  Introduced auxilary functions (to be used in the following patch).
sql/handler.cc:
  Rename triggers_file_ext -> TRG_EXT;
  Rename trigname_file_ext -> TRN_EXT.
sql/mysql_priv.h:
  1. Fix typo;
  2. Introduce auxilary functions (set_lex_string() will  be used
     in the following patch);
  3. Rename triggers_file_ext -> TRG_EXT;
     Rename trigname_file_ext -> TRN_EXT.
sql/sp_head.cc:
  Make sp_head::execute_trigger() consistent with
  sp_head::execute_function() and sp_head::execute_procedure().
sql/sp_head.h:
  Make sp_head::execute_trigger() consistent with
  sp_head::execute_function() and sp_head::execute_procedure().
sql/sql_db.cc:
  1. Introduce auxilary function.
  2. Polishing.
sql/sql_trigger.cc:
  1. Move common code from add_table_for_trigger() into
     - build_trn_path();
     - check_trn_exists();
     - load_table_name_for_trigger();
  2. Polishing.
sql/sql_trigger.h:
  1. Move common code from add_table_for_trigger() into
     - build_trn_path();
     - check_trn_exists();
     - load_table_name_for_trigger();
  2. Polishing.
2007-06-14 19:23:55 +04:00
unknown
efaaeecaa8 The second cleanup patch in scope of BUG#11986.
1. Introduce parse_sql() as a high-level replacement for MYSQLparse().
parse_sql() is responsible to switch and restore "parser context"
(THD::m_lip for now).

2. Fix typo in sp.cc: THD::spcont should be reset *before* calling
the parser.


sql/event_data_objects.cc:
  Use parse_sql() instead of MYSQLparse().
sql/mysql_priv.h:
  Introduce parse_sql() instead of auto-generated MYSQLparse.
sql/sp.cc:
  1. Use parse_sql() instead of MYSQLparse().
  2. THD::spcont should be reset before calling the parser.
sql/sql_class.cc:
  Reset THD::m_lip.
sql/sql_parse.cc:
  1. Introduce parse_sql() instead of auto-generated MYSQLparse().
  2. Backup, switch and restore THD::m_lip inside parse_sql().
  3. Use parse_sql() instead of MYSQLparse().
sql/sql_partition.cc:
  Use parse_sql() instead of MYSQLparse().
sql/sql_prepare.cc:
  Use parse_sql() instead of MYSQLparse().
sql/sql_trigger.cc:
  Use parse_sql() instead of MYSQLparse().
sql/sql_view.cc:
  Use parse_sql() instead of MYSQLparse().
2007-06-14 18:35:59 +04:00
unknown
f09496c8c2 Bug#25411 (trigger code truncated), PART II
Bug 28127 (Some valid identifiers names are not parsed correctly)
Bug 26302 (MySQL server cuts off trailing "*/" from comments in SP/func)

This patch is the second part of a major cleanup, required to fix
Bug 25411 (trigger code truncated).

The root cause of the issue stems from the function skip_rear_comments,
which was a work around to remove "extra" "*/" characters from the query
text, when parsing a query and reusing the text fragments to represent a
view, trigger, function or stored procedure.
The reason for this work around is that "special comments",
like /*!50002 XXX */, were not parsed properly, so that a query like:
  AAA /*!50002 BBB */ CCC
would be seen by the parser as "AAA BBB */ CCC" when the current version
is greater or equal to 5.0.2

The root cause of this stems from how special comments are parsed.
Special comments are really out-of-bound text that appear inside a query,
that affects how the parser behave.
In nature, /*!50002 XXX */ in MySQL is similar to the C concept
of preprocessing :
  #if VERSION >= 50002
  XXX
  #endif

Depending on the current VERSION of the server, either the special comment
should be expanded or it should be ignored, but in all cases the "text" of
the query should be re-written to strip the "/*!50002" and "*/" markers,
which does not belong to the SQL language itself.

Prior to this fix, these markers would leak into :
- the storage format for VIEW,
- the storage format for FUNCTION,
- the storage format for FUNCTION parameters, in mysql.proc (param_list),
- the storage format for PROCEDURE,
- the storage format for PROCEDURE parameters, in mysql.proc (param_list),
- the storage format for TRIGGER,
- the binary log used for replication.

In all cases, not only this cause format corruption, but also provide a vector
for dormant security issues, by allowing to tunnel code that will be activated
after an upgrade.

The proper solution is to deal with special comments strictly during parsing,
when accepting a query from the outside world.
Once a query is parsed and an object is created with a persistant
representation, this object should not arbitrarily mutate after an upgrade.
In short, special comments are a useful but limited feature for MYSQLdump,
when used at an *interface* level to facilitate import/export,
but bloating the server *internal* storage format is *not* the proper way
to deal with configuration management of the user logic.

With this fix:
- the Lex_input_stream class now acts as a comment pre-processor,
and either expands or ignore special comments on the fly.
- MYSQLlex and sql_yacc.yy have been cleaned up to strictly use the
public interface of Lex_input_stream. In particular, how the input stream
accepts or rejects a character is private to Lex_input_stream, and the
internal buffer pointers of that class are strictly private, and should not
be tempered with during parsing.

This caused many changes mostly in sql_lex.cc.

During the code cleanup in case MY_LEX_NUMBER_IDENT,
Bug 28127 (Some valid identifiers names are not parsed correctly)
was found and fixed.

By parsing special comments properly, and removing the function
'skip_rear_comments' [sic],
Bug 26302 (MySQL server cuts off trailing "*/" from comments in SP/func)
has been fixed as well.


sql/event_data_objects.cc:
  Cleanup of the code that extracts the query text
sql/sp.cc:
  Cleanup of the code that extracts the query text
sql/sp_head.cc:
  Cleanup of the code that extracts the query text
sql/sql_trigger.cc:
  Cleanup of the code that extracts the query text
sql/sql_view.cc:
  Cleanup of the code that extracts the query text
mysql-test/r/comments.result:
  Bug#25411 (trigger code truncated)
mysql-test/r/sp.result:
  Bug#25411 (trigger code truncated)
  Bug 26302 (MySQL server cuts off trailing "*/" from comments in SP/func)
mysql-test/r/trigger.result:
  Bug#25411 (trigger code truncated)
mysql-test/r/varbinary.result:
  Bug 28127 (Some valid identifiers names are not parsed correctly)
mysql-test/t/comments.test:
  Bug#25411 (trigger code truncated)
mysql-test/t/sp.test:
  Bug#25411 (trigger code truncated)
  Bug 26302 (MySQL server cuts off trailing "*/" from comments in SP/func)
mysql-test/t/trigger.test:
  Bug#25411 (trigger code truncated)
mysql-test/t/varbinary.test:
  Bug 28127 (Some valid identifiers names are not parsed correctly)
sql/sql_lex.cc:
  Implemented comment pre-processing in Lex_input_stream,
  major cleanup of the lex/yacc code to not use Lex_input_stream private members.
sql/sql_lex.h:
  Implemented comment pre-processing in Lex_input_stream,
  major cleanup of the lex/yacc code to not use Lex_input_stream private members.
sql/sql_yacc.yy:
  post merge fix : view_check_options must be parsed before signaling the end of the query
2007-06-12 15:23:58 -06:00
unknown
6e84990797 Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1
into  a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-marvel


BitKeeper/etc/ignore:
  auto-union
client/mysql.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
client/mysqltest.c:
  Auto merged
extra/comp_err.c:
  Auto merged
include/decimal.h:
  Auto merged
include/my_getopt.h:
  Auto merged
include/my_global.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/mysql.h:
  Auto merged
mysys/array.c:
  Auto merged
mysys/hash.c:
  Auto merged
mysys/typelib.c:
  Auto merged
sql/derror.cc:
  Auto merged
sql/event_data_objects.cc:
  Auto merged
sql/event_queue.cc:
  Auto merged
sql/field.cc:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/ha_ndbcluster_binlog.cc:
  Auto merged
sql/ha_partition.cc:
  Auto merged
sql/ha_partition.h:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  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_subselect.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/my_decimal.cc:
  Auto merged
sql/my_decimal.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/opt_sum.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/protocol.h:
  Auto merged
sql/rpl_utility.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_connect.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_partition.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_show.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/structs.h:
  Auto merged
sql/table.h:
  Auto merged
sql/tztime.cc:
  Auto merged
sql/unireg.cc:
  Auto merged
storage/example/ha_example.cc:
  Auto merged
storage/federated/ha_federated.cc:
  Auto merged
storage/heap/ha_heap.cc:
  Auto merged
storage/innobase/handler/ha_innodb.h:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
storage/myisam/sort.c:
  Auto merged
storage/myisammrg/ha_myisammrg.cc:
  Auto merged
storage/ndb/tools/restore/consumer_restore.cpp:
  Auto merged
strings/decimal.c:
  Auto merged
strings/strtod.c:
  Auto merged
include/hash.h:
  Manual merge with 5.1 main tree.
mysys/my_getopt.c:
  Manual merge with 5.1 main tree.
sql/field.h:
  Manual merge with 5.1 main tree.
sql/ha_ndbcluster.cc:
  Manual merge with 5.1 main tree.
sql/item_cmpfunc.h:
  Manual merge with 5.1 main tree.
sql/item_create.cc:
  Manual merge with 5.1 main tree.
sql/item_func.h:
  Manual merge with 5.1 main tree.
sql/key.cc:
  Manual merge with 5.1 main tree.
sql/lock.cc:
  Manual merge with 5.1 main tree.
sql/mysqld.cc:
  Manual merge with 5.1 main tree.
sql/set_var.cc:
  Manual merge with 5.1 main tree.
sql/set_var.h:
  Manual merge with 5.1 main tree.
sql/sql_base.cc:
  Manual merge with 5.1 main tree.
sql/sql_handler.cc:
  Manual merge with 5.1 main tree.
sql/sql_insert.cc:
  Manual merge with 5.1 main tree.
sql/sql_plugin.cc:
  Manual merge with 5.1 main tree.
sql/sql_table.cc:
  Manual merge with 5.1 main tree.
sql/sql_yacc.yy:
  Manual merge with 5.1 main tree.
sql/table.cc:
  Manual merge with 5.1 main tree.
storage/innobase/handler/ha_innodb.cc:
  Manual merge with 5.1 main tree.
storage/ndb/src/mgmsrv/InitConfigFileParser.cpp:
  Manual merge with 5.1 main tree.
storage/ndb/tools/restore/restore_main.cpp:
  Manual merge with 5.1 main tree.
2007-05-24 13:24:36 +03:00
unknown
d46c8ce634 Fix for:
Bug #20662 "Infinite loop in CREATE TABLE IF NOT EXISTS ... SELECT
              with locked tables"
  Bug #20903 "Crash when using CREATE TABLE .. SELECT and triggers"
  Bug #24738 "CREATE TABLE ... SELECT is not isolated properly"
  Bug #24508 "Inconsistent results of CREATE TABLE ... SELECT when
              temporary table exists"

Deadlock occured when one tried to execute CREATE TABLE IF NOT
EXISTS ... SELECT statement under LOCK TABLES which held
read lock on target table.
Attempt to execute the same statement for already existing
target table with triggers caused server crashes.
Also concurrent execution of CREATE TABLE ... SELECT statement
and other statements involving target table suffered from
various races (some of which might've led to deadlocks).
Finally, attempt to execute CREATE TABLE ... SELECT in case
when a temporary table with same name was already present
led to the insertion of data into this temporary table and
creation of empty non-temporary table.
 
All above problems stemmed from the old implementation of CREATE
TABLE ... SELECT in which we created, opened and locked target
table without any special protection in a separate step and not
with the rest of tables used by this statement.
This underminded deadlock-avoidance approach used in server
and created window for races. It also excluded target table
from prelocking causing problems with trigger execution.

The patch solves these problems by implementing new approach to
handling of CREATE TABLE ... SELECT for base tables.
We try to open and lock table to be created at the same time as
the rest of tables used by this statement. If such table does not
exist at this moment we create and place in the table cache special
placeholder for it which prevents its creation or any other usage
by other threads.
We still use old approach for creation of temporary tables.

Note that we have separate fix for 5.0 since there we use slightly
different less intrusive approach.


mysql-test/r/create.result:
  Extended test coverage for CREATE TABLE ... SELECT. In particular added
  tests for bug #24508 "Inconsistent results of CREATE TABLE ... SELECT
  when temporary table exists" and bug #20662 "Infinite loop in CREATE
  TABLE IF NOT EXISTS ... SELECT with locked tables".
mysql-test/r/trigger.result:
  Added test case for bug #20903 "Crash when using CREATE TABLE .. SELECT
  and triggers"
mysql-test/t/create.test:
  Extended test coverage for CREATE TABLE ... SELECT. In particular added
  tests for bug #24508 "Inconsistent results of CREATE TABLE ... SELECT
  when temporary table exists" and bug #20662 "Infinite loop in CREATE
  TABLE IF NOT EXISTS ... SELECT with locked tables".
mysql-test/t/trigger.test:
  Added test case for bug #20903 "Crash when using CREATE TABLE .. SELECT
  and triggers"
sql/lock.cc:
  Now for creation of name-lock placeholder lock_table_name() uses
  auxiliary function table_cache_insert_placeholder().
sql/mysql_priv.h:
  Removed declaration of non-existing build_table_path() routine.
  The former mysql_create_table_internal() was renamed to
  mysql_create_table_no_lock() and now exposed to other modules to
  give them opportunity of creation of tables in cases when name-lock
  is already obtained.
  reopen_name_locked_table() now has 3rd argument which controls linking
  in of table being opened into THD::open_tables (this is useful in
  cases when placeholder used for name-locking is already linked into
  this list).
  Added declaration of auxiliary function table_cache_insert_placeholder()
  which is used for creation of table placeholders for name-locking.
  Added declaration of lock_table_name_if_not_cached() which can be
  used to take an exclusive name-lock on table if there are no records
  for it in table cache.
  Changed signature of unlink_open_table() function to simplify its use
  and make it useful for table placeholders and tables that are only open.
  Added auxiliary drop_open_table() routine.
  Moved declaration of refresh_version to table.h header to make it
  accessible from inline methods of TABLE class.
  MYSQL_OPEN_IGNORE_LOCKED_TABLES flag is no longer used. Instead
  MYSQL_OPEN_TEMPORARY_ONLY option was added.
sql/sql_base.cc:
  Added support for the new approach to the handling of CREATE TABLE
  ... SELECT for base tables.
  
  Now we try to open and lock table to be created at the same time as
  the rest of tables used by this statement. If such table does not
  exist at this moment we create and place in the table cache special
  placeholder for it which prevents its creation or any other usage
  by other threads.
  
  Note significant distinctions of this placeholder from the placeholder
  used for normal name-lock: 1) It is treated like open table by other
  name-locks so it does not allow name-lock taking operations like DROP
  TABLE or RENAME TABLE to proceed. 2) it is linked into THD::open_tables
  list and automatically removed during close_thread_tables() call
    
  open_tables():
    Implemented logic described above. To do this added
    auxiliary check_if_table_exists() function.
    Removed support for MYSQL_OPEN_IGNORE_LOCKED_TABLES option
    which is no longer used.
    Added MYSQL_OPEN_TEMPORARY_ONLY which is used to restrict
    search for temporary tables only.
  close_cached_tables()/close_thread_table()/reopen_tables()/
  close_old_data_files()/table_is_used()/remove_table_from_cache():
    Added support for open placeholders (note that we also use them
    when we need to re-open tables during flush).
  unlink_open_table():
    Changed function signature to simplify its use and to make
    useful for open placeholders and tables which are only
    open and not locked.
  Added auxiliary drop_open_table() routine.
  reopen_name_locked_table():
    Now has 3rd argument which controls linking in of table being
    opened into THD::open_tables (this is useful in cases when
    placeholder used for name-locking is already linked into
    this list).
  Added auxiliary table_cache_insert_placeholder() routine which
  simplifies creation of placeholders used for name-locking.
  Added lock_table_name_if_not_cached() which can be used to take
  an exclusive name-lock on table if there are no records for it
  in table cache.
sql/sql_handler.cc:
  Adjusted mysql_ha_mark_tables_for_reopen() routine to properly
  handle placeholders which now can be linked into open tables
  list.
sql/sql_insert.cc:
  Introduced new approach to handling of base tables in CREATE TABLE
  ... SELECT statement.
  
  Now we try to open and lock table to be created at the same time as
  the rest of tables used by this statement. If such table does not
  exist at this moment we create and place in the table cache special
  placeholder for it which prevents its creation or any other usage
  by other threads. By doing this we avoid races which existed with
  previous approach in which we created, opened and locked target in
  separate step without any special protection.
  This also allows properly calculate prelocking set in cases when
  target table already exists and has some on insert triggers.
  
  Note that we don't employ the same approach for temporary tables
  (this is okay as such tables are unaffected by other threads).
  
  Changed create_table_from_items() and methods of select_create
  class to implement this approach.
sql/sql_parse.cc:
  The new approach to handling of CREATE TABLE ... SELECT for
  base tables assumes that all tables (including table to be
  created) are opened and (or) locked at the same time.
  So in cases when we create base table we have to pass to
  open_and_lock_tables() table list which includes target table.
sql/sql_prepare.cc:
  The new approach to handling of CREATE TABLE ... SELECT for
  base tables assumes that all tables (including table to be
  created) are opened and (or) locked at the same time.
  So in cases when we create base table we have to pass to
  open_and_lock_tables() table list which includes target table.
sql/sql_table.cc:
  Changed mysql_create_table(), mysql_create_like_table() and
  mysql_alter_table() (in rename case) to obtain exclusive name-lock
  on the non-temporary table which is going to be created (to which
  we going to rename). This ensures that not only destination table
  doesn't exist on disk but also that there are no placeholder in 
  table cache for it (i.e. there is no CREATE TABLE ... SELECT operation
  in progress for it). Note that to avoid deadlocks while taking these
  name-locks this code assumes that existence of any record for table in
  table cache (even name-lock) means that table exists. Altough such
  check can lead to false positives these should occur only in case of
  highly concurrent DDL operations on the table and should not break
  binary logging.
  
  Renamed mysql_create_table_internal() to mysql_create_table_no_lock()
  and made it accessible from other files to give them ability to create
  table in situation when name-lock is already obtained or not relevant.
  
  Adjusted calls to reopen_name_locked_table(), which now takes
  extra argument, which controls linking of open table into
  THD::open_tables list.
  
  Removed redundant setting of table's 'version' field before calls
  to close_cached_table(). This function will set it to 0 itself
  anyway.
sql/sql_trigger.cc:
  reopen_name_locked_tables() now has one more argument which controls
  linking of opened table into the THD::open_tables list.
sql/sql_yacc.yy:
  The new approach to handling of CREATE TABLE ... SELECT statement
  for base tables assumes that all tables including table to be
  created are open and (or) locked at the same time. Therefore
  we need to set correct lock for target table.
sql/table.h:
  Moved declaration of refresh_version variable from mysql_priv.h
  to make it accessible from inline methods of TABLE class.
  Renamed TABLE::locked_by_flush member to open_placeholder since
  now it is also used for taking exclusive name-lock and not only
  by flush. 
  Introduced TABLE::is_name_opened() helper method which can be used
  to distinguish TABLE instances corresponding to open tables or
  placeholders for them from closed instances (e.g. due to their old
  version). Also introduced TABLE::needs_reopen_or_name_lock() helper
  which allows to check if TABLE instance corresponds to outdated
  version of table or to name-lock placeholder.
  Introduced TABLE_LIST::create member which marks elements of
  table list corresponds to the table to be created.
  Adjusted TABLE_LIST::placeholder() method to take into account 
  name-lock placeholders for tables to be created (this, for example,
  allows to properly handle such placeholders in lock_tables()).
  Finally, moved currently unused TABLE::open_next/open_prev
  members under ifdef NOT_YET.
mysql-test/r/create_select-big.result:
  New BitKeeper file ``mysql-test/r/create_select-big.result''
mysql-test/t/create_select-big.test:
  New BitKeeper file ``mysql-test/t/create_select-big.test''
2007-05-11 21:51:03 +04:00
unknown
c5a8245596 Fix for:
Bug #20662 "Infinite loop in CREATE TABLE IF NOT EXISTS ... SELECT
              with locked tables"
  Bug #20903 "Crash when using CREATE TABLE .. SELECT and triggers"
  Bug #24738 "CREATE TABLE ... SELECT is not isolated properly"
  Bug #24508 "Inconsistent results of CREATE TABLE ... SELECT when
              temporary table exists"
 
Deadlock occured when one tried to execute CREATE TABLE IF NOT
EXISTS ... SELECT statement under LOCK TABLES which held
read lock on target table.
Attempt to execute the same statement for already existing
target table with triggers caused server crashes.
Also concurrent execution of CREATE TABLE ... SELECT statement
and other statements involving target table suffered from
various races (some of which might've led to deadlocks).
Finally, attempt to execute CREATE TABLE ... SELECT in case
when a temporary table with same name was already present
led to the insertion of data into this temporary table and
creation of empty non-temporary table.
 
All above problems stemmed from the old implementation of CREATE
TABLE ... SELECT in which we created, opened and locked target
table without any special protection in a separate step and not
with the rest of tables used by this statement.
This underminded deadlock-avoidance approach used in server
and created window for races. It also excluded target table
from prelocking causing problems with trigger execution.
  
The patch solves these problems by implementing new approach to
handling of CREATE TABLE ... SELECT for base tables.
We try to open and lock table to be created at the same time as
the rest of tables used by this statement. If such table does not
exist at this moment we create and place in the table cache special
placeholder for it which prevents its creation or any other usage
by other threads.

We still use old approach for creation of temporary tables.

Also note that we decided to postpone introduction of some tests
for concurrent behaviour of CREATE TABLE ... SELECT till 5.1.
The main reason for this is absence in 5.0 ability to set @@debug
variable at runtime, which can be circumvented only by using several
test files with individual .opt files. Since the latter is likely
to slowdown test-suite unnecessary we chose not to push this tests
into 5.0, but run them manually for this version and later push
their optimized version into 5.1


mysql-test/r/create.result:
  Extended test coverage for CREATE TABLE ... SELECT. In particular added
  tests for bug #24508 "Inconsistent results of CREATE TABLE ... SELECT
  when temporary table exists" and bug #20662 "Infinite loop in CREATE
  TABLE IF NOT EXISTS ... SELECT with locked tables".
mysql-test/r/trigger.result:
  Added test case for bug #20903 "Crash when using CREATE TABLE .. SELECT
  and triggers"
mysql-test/t/create.test:
  Extended test coverage for CREATE TABLE ... SELECT. In particular added
  tests for bug #24508 "Inconsistent results of CREATE TABLE ... SELECT
  when temporary table exists" and bug #20662 "Infinite loop in CREATE
  TABLE IF NOT EXISTS ... SELECT with locked tables".
mysql-test/t/trigger.test:
  Added test case for bug #20903 "Crash when using CREATE TABLE .. SELECT
  and triggers"
sql/lock.cc:
  Now for creation of name-lock placeholder in lock_table_name() we use
  auxiliary function table_cache_insert_placeholder().
sql/mysql_priv.h:
  Made build_table_path() function available outside of sql_table.cc file.
  reopen_name_locked_table() now has 3rd argument which controls linking
  in of table being opened into THD::open_tables (this is useful in
  cases when placeholder used for name-locking is already linked into
  this list).
  Added declaration of auxiliary function table_cache_insert_placeholder()
  which is used for creation of table placeholders for name-locking.
  Added declaration of table_cache_has_open_placeholder() function which
  can be used for checking if table cache contains an open placeholder for
  the table and if this placeholder was created by another thread.
  (This function is needed only in 5.0 where we use it in various versions
   of CREATE TABLE in order to protect it from concurrent CREATE TABLE
   ... SELECT operations for the table. Starting from 5.1 we use different
   approach so it is going to be removed there).
  Made close_old_data_files() static within sql_base.cc file. 
  Added auxiliary drop_open_table() routine.
  Moved declaration of refresh_version to table.h header to make it
  accessible from inline methods of TABLE class.
  MYSQL_OPEN_IGNORE_LOCKED_TABLES flag is no longer used. Instead
  MYSQL_OPEN_TEMPORARY_ONLY option was added.
sql/sql_base.cc:
  Added support for the new approach to the handling of CREATE TABLE
  ... SELECT for base tables.
  
  Now we try to open and lock table to be created at the same time as
  the rest of tables used by this statement. If such table does not
  exist at this moment we create and place in the table cache special
  placeholder for it which prevents its creation or any other usage
  by other threads.
  
  Note significant distinctions of this placeholder from the placeholder
  used for normal name-lock: 1) It is treated like open table by other
  name-locks so it does not allow name-lock taking operations like DROP
  TABLE or RENAME TABLE to proceed. 2) it is linked into THD::open_tables
  list and automatically removed during close_thread_tables() call.
  
  open_tables():
    Implemented logic described above. To do this added
    auxiliary check_if_table_exists() function.
    Removed support for MYSQL_OPEN_IGNORE_LOCKED_TABLES option
    which is no longer used.
    Added MYSQL_OPEN_TEMPORARY_ONLY which is used to restrict
    search for temporary tables only.
  close_cached_tables()/close_thread_table()/reopen_tables()/
  close_old_data_files()/table_is_used()/remove_table_from_cache():
    Added support for open placeholders (note that we also use them
    when we need to re-open tables during flush).
  Added auxiliary drop_open_table() routine.
  reopen_name_locked_table():
    Now has 3rd argument which controls linking in of table being
    opened into THD::open_tables (this is useful in cases when
    placeholder used for name-locking is already linked into
    this list).
  Added auxiliary table_cache_insert_placeholder() routine which
  simplifies creation of placeholders used for name-locking.
  Added table_cache_has_open_placeholder() function which can be
  used for checking if table cache contains an open placeholder for
  the table and if this placeholder was created by another thread.
  (This function is needed only in 5.0 where we use it in various versions
   of CREATE TABLE in order to protect it from concurrent CREATE TABLE
   ... SELECT operations for the table. Starting from 5.1 we use different
   approach so it is going to be removed there).
sql/sql_handler.cc:
  Adjusted mysql_ha_mark_tables_for_reopen() routine to properly
  handle placeholders which now can be linked into open tables
  list.
sql/sql_insert.cc:
  Introduced new approach to handling of base tables in CREATE TABLE
  ... SELECT statement.
  
  Now we try to open and lock table to be created at the same time as
  the rest of tables used by this statement. If such table does not
  exist at this moment we create and place in the table cache special
  placeholder for it which prevents its creation or any other usage
  by other threads. By doing this we avoid races which existed with
  previous approach in which we created, opened and locked target in
  separate step without any special protection.
  This also allows properly calculate prelocking set in cases when
  target table already exists and has some on insert triggers.
    
  Note that we don't employ the same approach for temporary tables
  (this is okay as such tables are unaffected by other threads).
  
  Changed create_table_from_items() and select_create methods to
  implement this approach.
sql/sql_parse.cc:
  The new approach to handling of CREATE TABLE ... SELECT for
  base tables assumes that all tables (including table to be
  created) are opened and (or) locked at the same time.
  So in cases when we create base table we have to pass to
  open_and_lock_tables() table list which includes target table.
sql/sql_prepare.cc:
  The new approach to handling of CREATE TABLE ... SELECT for
  base tables assumes that all tables (including table to be
  created) are opened and (or) locked at the same time.
  So in cases when we create base table we have to pass to
  open_and_lock_tables() table list which includes target table.
sql/sql_table.cc:
  Now mysql_create_table_internal(), mysql_create_like_table() and
  mysql_alter_table() not only check that destination table doesn't
  exist on disk but also check that there is no create placeholder
  in table cache for it (i.e. there is no CREATE TABLE ... SELECT
  operation in progress for it). Note that starting from 5.1 we
  use different approach in order to to protect CREATE TABLE ... SELECT
  from concurrent CREATE TABLE (ALTER TABLE ... RENAME) operations,
  the latter simply take name-locks on table before its creation
  (on target table name before renaming).
  
  Also made build_table_path() available from other files and
  asjusted calls to reopen_name_locked_table(), which now takes
  extra argument, which controls linking of open table into
  THD::open_tables list.
sql/sql_trigger.cc:
  reopen_name_locked_tables() now has one more argument which controls
  linking of opened table into the THD::open_tables list.
sql/sql_yacc.yy:
  The new approach to handling of CREATE TABLE ... SELECT statement
  for base tables assumes that all tables including table to be
  created are open and (or) locked at the same time. Therefore
  we need to set correct lock for target table.
sql/table.h:
  Moved declaration of refresh_version variable from mysql_priv.h
  to make it accessible from inline methods of TABLE class. 
  Renamed TABLE::locked_by_flush member to open_placeholder since
  now it is also used for taking exclusive name-lock and not only
  by flush. 
  Introduced TABLE::is_name_opened() helper method which can be used
  to distinguish TABLE instances corresponding to open tables or
  placeholders for them from closed instances (e.g. due to their old
  version). Also introduced TABLE::needs_reopen_or_name_lock() helper
  which allows to check if TABLE instance corresponds to outdated
  version of table or to name-lock placeholder.
  Introduced TABLE_LIST::create member which marks elements of
  table list corresponds to the table to be created.
  Adjusted TABLE_LIST::placeholder() method to take into account 
  name-lock placeholders for tables to be created (this, for example,
  allows to properly handle such placeholders in lock_tables()).
2007-05-11 20:33:13 +04:00
unknown
f252f9248a WL#3817: Simplify string / memory area types and make things more consistent (first part)
The following type conversions was done:

- Changed byte to uchar
- Changed gptr to uchar*
- Change my_string to char *
- Change my_size_t to size_t
- Change size_s to size_t

Removed declaration of byte, gptr, my_string, my_size_t and size_s. 

Following function parameter changes was done:
- All string functions in mysys/strings was changed to use size_t
  instead of uint for string lengths.
- All read()/write() functions changed to use size_t (including vio).
- All protocoll functions changed to use size_t instead of uint
- Functions that used a pointer to a string length was changed to use size_t*
- Changed malloc(), free() and related functions from using gptr to use void *
  as this requires fewer casts in the code and is more in line with how the
  standard functions work.
- Added extra length argument to dirname_part() to return the length of the
  created string.
- Changed (at least) following functions to take uchar* as argument:
  - db_dump()
  - my_net_write()
  - net_write_command()
  - net_store_data()
  - DBUG_DUMP()
  - decimal2bin() & bin2decimal()
- Changed my_compress() and my_uncompress() to use size_t. Changed one
  argument to my_uncompress() from a pointer to a value as we only return
  one value (makes function easier to use).
- Changed type of 'pack_data' argument to packfrm() to avoid casts.
- Changed in readfrm() and writefrom(), ha_discover and handler::discover()
  the type for argument 'frmdata' to uchar** to avoid casts.
- Changed most Field functions to use uchar* instead of char* (reduced a lot of
  casts).
- Changed field->val_xxx(xxx, new_ptr) to take const pointers.

Other changes:
- Removed a lot of not needed casts
- Added a few new cast required by other changes
- Added some cast to my_multi_malloc() arguments for safety (as string lengths
  needs to be uint, not size_t).
- Fixed all calls to hash-get-key functions to use size_t*. (Needed to be done
  explicitely as this conflict was often hided by casting the function to
  hash_get_key).
- Changed some buffers to memory regions to uchar* to avoid casts.
- Changed some string lengths from uint to size_t.
- Changed field->ptr to be uchar* instead of char*. This allowed us to
  get rid of a lot of casts.
- Some changes from true -> TRUE, false -> FALSE, unsigned char -> uchar
- Include zlib.h in some files as we needed declaration of crc32()
- Changed MY_FILE_ERROR to be (size_t) -1.
- Changed many variables to hold the result of my_read() / my_write() to be
  size_t. This was needed to properly detect errors (which are
  returned as (size_t) -1).
- Removed some very old VMS code
- Changed packfrm()/unpackfrm() to not be depending on uint size
  (portability fix)
- Removed windows specific code to restore cursor position as this
  causes slowdown on windows and we should not mix read() and pread()
  calls anyway as this is not thread safe. Updated function comment to
  reflect this. Changed function that depended on original behavior of
  my_pwrite() to itself restore the cursor position (one such case).
- Added some missing checking of return value of malloc().
- Changed definition of MOD_PAD_CHAR_TO_FULL_LENGTH to avoid 'long' overflow.
- Changed type of table_def::m_size from my_size_t to ulong to reflect that
  m_size is the number of elements in the array, not a string/memory
  length.
- Moved THD::max_row_length() to table.cc (as it's not depending on THD).
  Inlined max_row_length_blob() into this function.
- More function comments
- Fixed some compiler warnings when compiled without partitions.
- Removed setting of LEX_STRING() arguments in declaration (portability fix).
- Some trivial indentation/variable name changes.
- Some trivial code simplifications:
  - Replaced some calls to alloc_root + memcpy to use
    strmake_root()/strdup_root().
  - Changed some calls from memdup() to strmake() (Safety fix)
  - Simpler loops in client-simple.c


BitKeeper/etc/ignore:
  added libmysqld/ha_ndbcluster_cond.cc
  ---
  added debian/defs.mk debian/control
client/completion_hash.cc:
  Remove not needed casts
client/my_readline.h:
  Remove some old types
client/mysql.cc:
  Simplify types
client/mysql_upgrade.c:
  Remove some old types
  Update call to dirname_part
client/mysqladmin.cc:
  Remove some old types
client/mysqlbinlog.cc:
  Remove some old types
  Change some buffers to be uchar to avoid casts
client/mysqlcheck.c:
  Remove some old types
client/mysqldump.c:
  Remove some old types
  Remove some not needed casts
  Change some string lengths to size_t
client/mysqlimport.c:
  Remove some old types
client/mysqlshow.c:
  Remove some old types
client/mysqlslap.c:
  Remove some old types
  Remove some not needed casts
client/mysqltest.c:
  Removed some old types
  Removed some not needed casts
  Updated hash-get-key function arguments
  Updated parameters to dirname_part()
client/readline.cc:
  Removed some old types
  Removed some not needed casts
  Changed some string lengths to use size_t
client/sql_string.cc:
  Removed some old types
dbug/dbug.c:
  Removed some old types
  Changed some string lengths to use size_t
  Changed some prototypes to avoid casts
extra/comp_err.c:
  Removed some old types
extra/innochecksum.c:
  Removed some old types
extra/my_print_defaults.c:
  Removed some old types
extra/mysql_waitpid.c:
  Removed some old types
extra/perror.c:
  Removed some old types
extra/replace.c:
  Removed some old types
  Updated parameters to dirname_part()
extra/resolve_stack_dump.c:
  Removed some old types
extra/resolveip.c:
  Removed some old types
include/config-win.h:
  Removed some old types
include/decimal.h:
  Changed binary strings to be uchar* instead of char*
include/ft_global.h:
  Removed some old types
include/hash.h:
  Removed some old types
include/heap.h:
  Removed some old types
  Changed records_under_level to be 'ulong' instead of 'uint' to clarify usage of variable
include/keycache.h:
  Removed some old types
include/m_ctype.h:
  Removed some old types
  Changed some string lengths to use size_t
  Changed character length functions to return uint
  unsigned char -> uchar
include/m_string.h:
  Removed some old types
  Changed some string lengths to use size_t
include/my_alloc.h:
  Changed some string lengths to use size_t
include/my_base.h:
  Removed some old types
include/my_dbug.h:
  Removed some old types
  Changed some string lengths to use size_t
  Changed db_dump() to take uchar * as argument for memory to reduce number of casts in usage
include/my_getopt.h:
  Removed some old types
include/my_global.h:
  Removed old types:
  my_size_t -> size_t
  byte -> uchar
  gptr -> uchar *
include/my_list.h:
  Removed some old types
include/my_nosys.h:
  Removed some old types
include/my_pthread.h:
  Removed some old types
include/my_sys.h:
  Removed some old types
  Changed MY_FILE_ERROR to be in line with new definitions of my_write()/my_read()
  Changed some string lengths to use size_t
  my_malloc() / my_free() now uses void *
  Updated parameters to dirname_part() & my_uncompress()
include/my_tree.h:
  Removed some old types
include/my_trie.h:
  Removed some old types
include/my_user.h:
  Changed some string lengths to use size_t
include/my_vle.h:
  Removed some old types
include/my_xml.h:
  Removed some old types
  Changed some string lengths to use size_t
include/myisam.h:
  Removed some old types
include/myisammrg.h:
  Removed some old types
include/mysql.h:
  Removed some old types
  Changed byte streams to use uchar* instead of char*
include/mysql_com.h:
  Removed some old types
  Changed some string lengths to use size_t
  Changed some buffers to be uchar* to avoid casts
include/queues.h:
  Removed some old types
include/sql_common.h:
  Removed some old types
include/sslopt-longopts.h:
  Removed some old types
include/violite.h:
  Removed some old types
  Changed some string lengths to use size_t
libmysql/client_settings.h:
  Removed some old types
libmysql/libmysql.c:
  Removed some old types
libmysql/manager.c:
  Removed some old types
libmysqld/emb_qcache.cc:
  Removed some old types
libmysqld/emb_qcache.h:
  Removed some old types
libmysqld/lib_sql.cc:
  Removed some old types
  Removed some not needed casts
  Changed some buffers to be uchar* to avoid casts
  true -> TRUE, false -> FALSE
mysys/array.c:
  Removed some old types
mysys/charset.c:
  Changed some string lengths to use size_t
mysys/checksum.c:
  Include zlib to get definition for crc32
  Removed some old types
mysys/default.c:
  Removed some old types
  Changed some string lengths to use size_t
mysys/default_modify.c:
  Changed some string lengths to use size_t
  Removed some not needed casts
mysys/hash.c:
  Removed some old types
  Changed some string lengths to use size_t
  Note: Prototype of hash_key() has changed which may cause problems if client uses hash_init() with a cast for the hash-get-key function.
  hash_element now takes 'ulong' as the index type (cleanup)
mysys/list.c:
  Removed some old types
mysys/mf_cache.c:
  Changed some string lengths to use size_t
mysys/mf_dirname.c:
  Removed some old types
  Changed some string lengths to use size_t
  Added argument to dirname_part() to avoid calculation of length for 'to'
mysys/mf_fn_ext.c:
  Removed some old types
  Updated parameters to dirname_part()
mysys/mf_format.c:
  Removed some old types
  Changed some string lengths to use size_t
mysys/mf_getdate.c:
  Removed some old types
mysys/mf_iocache.c:
  Removed some old types
  Changed some string lengths to use size_t
  Changed calculation of 'max_length' to be done the same way in all functions
mysys/mf_iocache2.c:
  Removed some old types
  Changed some string lengths to use size_t
  Clean up comments
  Removed not needed indentation
mysys/mf_keycache.c:
  Removed some old types
mysys/mf_keycaches.c:
  Removed some old types
mysys/mf_loadpath.c:
  Removed some old types
mysys/mf_pack.c:
  Removed some old types
  Changed some string lengths to use size_t
  Removed some not needed casts
  Removed very old VMS code
  Updated parameters to dirname_part()
  Use result of dirnam_part() to remove call to strcat()
mysys/mf_path.c:
  Removed some old types
mysys/mf_radix.c:
  Removed some old types
mysys/mf_same.c:
  Removed some old types
mysys/mf_sort.c:
  Removed some old types
mysys/mf_soundex.c:
  Removed some old types
mysys/mf_strip.c:
  Removed some old types
mysys/mf_tempdir.c:
  Removed some old types
mysys/mf_unixpath.c:
  Removed some old types
mysys/mf_wfile.c:
  Removed some old types
mysys/mulalloc.c:
  Removed some old types
mysys/my_alloc.c:
  Removed some old types
  Changed some string lengths to use size_t
  Use void* as type for allocated memory area
  Removed some not needed casts
  Changed argument 'Size' to 'length' according coding guidelines
mysys/my_chsize.c:
  Changed some buffers to be uchar* to avoid casts
mysys/my_compress.c:
  More comments
  Removed some old types
  Changed string lengths to use size_t
  Changed arguments to my_uncompress() to make them easier to understand
  Changed packfrm()/unpackfrm() to not be depending on uint size (portability fix)
  Changed type of 'pack_data' argument to packfrm() to avoid casts.
mysys/my_conio.c:
  Changed some string lengths to use size_t
mysys/my_create.c:
  Removed some old types
mysys/my_div.c:
  Removed some old types
mysys/my_error.c:
  Removed some old types
mysys/my_fopen.c:
  Removed some old types
mysys/my_fstream.c:
  Removed some old types
  Changed some string lengths to use size_t
  writen -> written
mysys/my_getopt.c:
  Removed some old types
mysys/my_getwd.c:
  Removed some old types
  More comments
mysys/my_init.c:
  Removed some old types
mysys/my_largepage.c:
  Removed some old types
  Changed some string lengths to use size_t
mysys/my_lib.c:
  Removed some old types
mysys/my_lockmem.c:
  Removed some old types
mysys/my_malloc.c:
  Removed some old types
  Changed malloc(), free() and related functions to use void *
  Changed all functions to use size_t
mysys/my_memmem.c:
  Indentation cleanup
mysys/my_once.c:
  Removed some old types
  Changed malloc(), free() and related functions to use void *
mysys/my_open.c:
  Removed some old types
mysys/my_pread.c:
  Removed some old types
  Changed all functions to use size_t
  Added comment for how my_pread() / my_pwrite() are supposed to work.
  Removed windows specific code to restore cursor position as this causes slowdown on windows and we should not mix read() and pread() calls anyway as this is not thread safe.
  (If we ever would really need this, it should be enabled only with a flag argument)
mysys/my_quick.c:
  Removed some old types
  Changed all functions to use size_t
mysys/my_read.c:
  Removed some old types
  Changed all functions to use size_t
mysys/my_realloc.c:
  Removed some old types
  Use void* as type for allocated memory area
  Changed all functions to use size_t
mysys/my_static.c:
  Removed some old types
mysys/my_static.h:
  Removed some old types
mysys/my_vle.c:
  Removed some old types
mysys/my_wincond.c:
  Removed some old types
mysys/my_windac.c:
  Removed some old types
mysys/my_write.c:
  Removed some old types
  Changed all functions to use size_t
mysys/ptr_cmp.c:
  Removed some old types
  Changed all functions to use size_t
mysys/queues.c:
  Removed some old types
mysys/safemalloc.c:
  Removed some old types
  Changed malloc(), free() and related functions to use void *
  Changed all functions to use size_t
mysys/string.c:
  Removed some old types
  Changed all functions to use size_t
mysys/testhash.c:
  Removed some old types
mysys/thr_alarm.c:
  Removed some old types
mysys/thr_lock.c:
  Removed some old types
mysys/tree.c:
  Removed some old types
mysys/trie.c:
  Removed some old types
mysys/typelib.c:
  Removed some old types
plugin/daemon_example/daemon_example.cc:
  Removed some old types
regex/reginit.c:
  Removed some old types
server-tools/instance-manager/buffer.cc:
  Changed some string lengths to use size_t
  Changed buffer to be of type uchar*
server-tools/instance-manager/buffer.h:
  Changed some string lengths to use size_t
  Changed buffer to be of type uchar*
server-tools/instance-manager/commands.cc:
  Removed some old types
  Changed some string lengths to use size_t
  Changed buffer to be of type uchar*
server-tools/instance-manager/instance_map.cc:
  Removed some old types
  Changed some string lengths to use size_t
  Changed buffer to be of type uchar*
server-tools/instance-manager/instance_options.cc:
  Changed buffer to be of type uchar*
  Replaced alloc_root + strcpy() with strdup_root()
server-tools/instance-manager/mysql_connection.cc:
  Changed buffer to be of type uchar*
server-tools/instance-manager/options.cc:
  Removed some old types
server-tools/instance-manager/parse.cc:
  Changed some string lengths to use size_t
server-tools/instance-manager/parse.h:
  Removed some old types
  Changed some string lengths to use size_t
server-tools/instance-manager/protocol.cc:
  Changed some buffers to be uchar* to avoid casts
  Changed some string lengths to use size_t
server-tools/instance-manager/protocol.h:
  Changed some string lengths to use size_t
server-tools/instance-manager/user_map.cc:
  Removed some old types
  Changed some string lengths to use size_t
sql/derror.cc:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
  Changed some string lengths to use size_t
sql/discover.cc:
  Changed in readfrm() and writefrom() the type for argument 'frmdata' to uchar** to avoid casts
  Changed some string lengths to use size_t
  Changed some buffers to be uchar* to avoid casts
sql/event_data_objects.cc:
  Removed some old types
  Added missing casts for alloc() and sprintf()
sql/event_db_repository.cc:
  Changed some buffers to be uchar* to avoid casts
  Added missing casts for sprintf()
sql/event_queue.cc:
  Removed some old types
sql/field.cc:
  Removed some old types
  Changed memory buffers to be uchar*
  Changed some string lengths to use size_t
  Removed a lot of casts
  Safety fix in Field_blob::val_decimal() to not access zero pointer
sql/field.h:
  Removed some old types
  Changed memory buffers to be uchar* (except of store() as this would have caused too many other changes). 
  Changed some string lengths to use size_t
  Removed some not needed casts
  Changed val_xxx(xxx, new_ptr) to take const pointers
sql/field_conv.cc:
  Removed some old types
  Added casts required because memory area pointers are now uchar*
sql/filesort.cc:
  Initalize variable that was used unitialized in error conditions
sql/gen_lex_hash.cc:
  Removed some old types
  Changed memory buffers to be uchar*
  Changed some string lengths to use size_t
  Removed a lot of casts
  Safety fix in Field_blob::val_decimal() to not access zero pointer
sql/gstream.h:
  Added required cast
sql/ha_ndbcluster.cc:
  Removed some old types
  Updated hash-get-key function arguments
  Changed some buffers to be uchar* to avoid casts
  Added required casts
  Removed some not needed casts
sql/ha_ndbcluster.h:
  Removed some old types
sql/ha_ndbcluster_binlog.cc:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
  Replaced sql_alloc() + memcpy() + set end 0 with sql_strmake()
  Changed some string lengths to use size_t
  Added missing casts for alloc() and sprintf()
sql/ha_ndbcluster_binlog.h:
  Removed some old types
sql/ha_ndbcluster_cond.cc:
  Removed some old types
  Removed some not needed casts
sql/ha_ndbcluster_cond.h:
  Removed some old types
sql/ha_partition.cc:
  Removed some old types
  Changed prototype for change_partition() to avoid casts
sql/ha_partition.h:
  Removed some old types
sql/handler.cc:
  Removed some old types
  Changed some string lengths to use size_t
sql/handler.h:
  Removed some old types
  Changed some string lengths to use size_t
  Changed type for 'frmblob' parameter for discover() and ha_discover() to get fewer casts
sql/hash_filo.h:
  Removed some old types
  Changed all functions to use size_t
sql/hostname.cc:
  Removed some old types
sql/item.cc:
  Removed some old types
  Changed some string lengths to use size_t
  Use strmake() instead of memdup() to create a null terminated string.
  Updated calls to new Field()
sql/item.h:
  Removed some old types
  Changed malloc(), free() and related functions to use void *
  Changed some buffers to be uchar* to avoid casts
sql/item_cmpfunc.cc:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
sql/item_cmpfunc.h:
  Removed some old types
sql/item_create.cc:
  Removed some old types
sql/item_func.cc:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
  Removed some not needed casts
  Added test for failing alloc() in init_result_field()
  Remove old confusing comment
  Fixed compiler warning
sql/item_func.h:
  Removed some old types
sql/item_row.cc:
  Removed some old types
sql/item_row.h:
  Removed some old types
sql/item_strfunc.cc:
  Include zlib (needed becasue we call crc32)
  Removed some old types
sql/item_strfunc.h:
  Removed some old types
  Changed some types to match new function prototypes
sql/item_subselect.cc:
  Removed some old types
sql/item_subselect.h:
  Removed some old types
sql/item_sum.cc:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
  Removed some not needed casts
sql/item_sum.h:
  Removed some old types
sql/item_timefunc.cc:
  Removed some old types
  Changed some string lengths to use size_t
sql/item_timefunc.h:
  Removed some old types
sql/item_xmlfunc.cc:
  Changed some string lengths to use size_t
sql/item_xmlfunc.h:
  Removed some old types
sql/key.cc:
  Removed some old types
  Removed some not needed casts
sql/lock.cc:
  Removed some old types
  Added some cast to my_multi_malloc() arguments for safety
sql/log.cc:
  Removed some old types
  Changed some string lengths to use size_t
  Changed some buffers to be uchar* to avoid casts
  Changed usage of pwrite() to not assume it holds the cursor position for the file
  Made usage of my_read() safer
sql/log_event.cc:
  Removed some old types
  Added checking of return value of malloc() in pack_info()
  Changed some buffers to be uchar* to avoid casts
  Removed some 'const' to avoid casts
  Added missing casts for alloc() and sprintf()
  Added required casts
  Removed some not needed casts
  Added some cast to my_multi_malloc() arguments for safety
sql/log_event.h:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
sql/log_event_old.cc:
  Changed some buffers to be uchar* to avoid casts
  Removed some not needed casts
sql/log_event_old.h:
  Changed some buffers to be uchar* to avoid casts
sql/mf_iocache.cc:
  Removed some old types
sql/my_decimal.cc:
  Changed memory area to use uchar*
sql/my_decimal.h:
  Changed memory area to use uchar*
sql/mysql_priv.h:
  Removed some old types
  Changed malloc(), free() and related functions to use void *
  Changed some string lengths to use size_t
  Changed definition of MOD_PAD_CHAR_TO_FULL_LENGTH to avoid long overflow
  Changed some buffers to be uchar* to avoid casts
sql/mysqld.cc:
  Removed some old types
sql/net_serv.cc:
  Removed some old types
  Changed some string lengths to use size_t
  Changed some buffers to be uchar* to avoid casts
  Ensure that vio_read()/vio_write() return values are stored in a size_t variable
  Removed some not needed casts
sql/opt_range.cc:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
  Removed some not needed casts
sql/opt_range.h:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
sql/opt_sum.cc:
  Removed some old types
  Removed some not needed casts
sql/parse_file.cc:
  Removed some old types
  Changed some string lengths to use size_t
  Changed alloc_root + memcpy + set end 0 -> strmake_root()
sql/parse_file.h:
  Removed some old types
sql/partition_info.cc:
  Removed some old types
  Added missing casts for alloc()
  Changed some buffers to be uchar* to avoid casts
sql/partition_info.h:
  Changed some buffers to be uchar* to avoid casts
sql/protocol.cc:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
  Removed some not needed casts
sql/protocol.h:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
  Changed some string lengths to use size_t
sql/records.cc:
  Removed some old types
sql/repl_failsafe.cc:
  Removed some old types
  Changed some string lengths to use size_t
  Added required casts
sql/rpl_filter.cc:
  Removed some old types
  Updated hash-get-key function arguments
  Changed some string lengths to use size_t
sql/rpl_filter.h:
  Changed some string lengths to use size_t
sql/rpl_injector.h:
  Removed some old types
sql/rpl_record.cc:
  Removed some old types
  Removed some not needed casts
  Changed some buffers to be uchar* to avoid casts
sql/rpl_record.h:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
sql/rpl_record_old.cc:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
  Removed some not needed casts
sql/rpl_record_old.h:
  Removed some old types
  Changed some buffers to be uchar* to avoid cast
sql/rpl_rli.cc:
  Removed some old types
sql/rpl_tblmap.cc:
  Removed some old types
sql/rpl_tblmap.h:
  Removed some old types
sql/rpl_utility.cc:
  Removed some old types
sql/rpl_utility.h:
  Removed some old types
  Changed type of m_size from my_size_t to ulong to reflect that m_size is the number of elements in the array, not a string/memory length
sql/set_var.cc:
  Removed some old types
  Updated parameters to dirname_part()
sql/set_var.h:
  Removed some old types
sql/slave.cc:
  Removed some old types
  Changed some string lengths to use size_t
sql/slave.h:
  Removed some old types
sql/sp.cc:
  Removed some old types
  Added missing casts for printf()
sql/sp.h:
  Removed some old types
  Updated hash-get-key function arguments
sql/sp_cache.cc:
  Removed some old types
  Added missing casts for printf()
  Updated hash-get-key function arguments
sql/sp_head.cc:
  Removed some old types
  Added missing casts for alloc() and printf()
  Added required casts
  Updated hash-get-key function arguments
sql/sp_head.h:
  Removed some old types
sql/sp_pcontext.cc:
  Removed some old types
sql/sp_pcontext.h:
  Removed some old types
sql/sql_acl.cc:
  Removed some old types
  Changed some string lengths to use size_t
  Changed some buffers to be uchar* to avoid casts
  Removed some not needed casts
  Added required casts
sql/sql_analyse.cc:
  Changed some buffers to be uchar* to avoid casts
sql/sql_analyse.h:
  Changed some buffers to be uchar* to avoid casts
sql/sql_array.h:
  Removed some old types
sql/sql_base.cc:
  Removed some old types
  Updated hash-get-key function arguments
sql/sql_binlog.cc:
  Removed some old types
  Added missing casts for printf()
sql/sql_cache.cc:
  Removed some old types
  Updated hash-get-key function arguments
  Removed some not needed casts
  Changed some string lengths to use size_t
sql/sql_cache.h:
  Removed some old types
  Removed reference to not existing function cache_key()
  Updated hash-get-key function arguments
sql/sql_class.cc:
  Removed some old types
  Updated hash-get-key function arguments
  Added missing casts for alloc()
  Updated hash-get-key function arguments
  Moved THD::max_row_length() to table.cc (as it's not depending on THD)
  Removed some not needed casts
sql/sql_class.h:
  Removed some old types
  Changed malloc(), free() and related functions to use void *
  Removed some not needed casts
  Changed some string lengths to use size_t
  Moved max_row_length and max_row_length_blob() to table.cc, as they are not depending on THD
sql/sql_connect.cc:
  Removed some old types
  Added required casts
sql/sql_db.cc:
  Removed some old types
  Removed some not needed casts
  Added some cast to my_multi_malloc() arguments for safety
  Added missing casts for alloc()
sql/sql_delete.cc:
  Removed some old types
sql/sql_handler.cc:
  Removed some old types
  Updated hash-get-key function arguments
  Added some cast to my_multi_malloc() arguments for safety
sql/sql_help.cc:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
  Removed some not needed casts
sql/sql_insert.cc:
  Removed some old types
  Added missing casts for alloc() and printf()
sql/sql_lex.cc:
  Removed some old types
sql/sql_lex.h:
  Removed some old types
  Removed some not needed casts
sql/sql_list.h:
  Removed some old types
  Removed some not needed casts
sql/sql_load.cc:
  Removed some old types
  Removed compiler warning
sql/sql_manager.cc:
  Removed some old types
sql/sql_map.cc:
  Removed some old types
sql/sql_map.h:
  Removed some old types
sql/sql_olap.cc:
  Removed some old types
sql/sql_parse.cc:
  Removed some old types
  Trivial move of code lines to make things more readable
  Changed some string lengths to use size_t
  Added missing casts for alloc()
sql/sql_partition.cc:
  Removed some old types
  Removed compiler warnings about not used functions
  Changed some buffers to be uchar* to avoid casts
  Removed some not needed casts
sql/sql_partition.h:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
sql/sql_plugin.cc:
  Removed some old types
  Added missing casts for alloc()
  Updated hash-get-key function arguments
sql/sql_prepare.cc:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
  Added missing casts for alloc() and printf()
sql-common/client.c:
  Removed some old types
  Changed some memory areas to use uchar*
sql-common/my_user.c:
  Changed some string lengths to use size_t
sql-common/pack.c:
  Changed some buffers to be uchar* to avoid casts
sql/sql_repl.cc:
  Added required casts
  Changed some buffers to be uchar* to avoid casts
  Changed some string lengths to use size_t
sql/sql_select.cc:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
  Removed some old types
sql/sql_select.h:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
sql/sql_servers.cc:
  Removed some old types
  Updated hash-get-key function arguments
sql/sql_show.cc:
  Removed some old types
  Added missing casts for alloc()
  Removed some not needed casts
sql/sql_string.cc:
  Removed some old types
  Added required casts
sql/sql_table.cc:
  Removed some old types
  Removed compiler warning about not used variable
  Changed some buffers to be uchar* to avoid casts
  Removed some not needed casts
sql/sql_test.cc:
  Removed some old types
sql/sql_trigger.cc:
  Removed some old types
  Added missing casts for alloc()
sql/sql_udf.cc:
  Removed some old types
  Updated hash-get-key function arguments
sql/sql_union.cc:
  Removed some old types
sql/sql_update.cc:
  Removed some old types
  Removed some not needed casts
sql/sql_view.cc:
  Removed some old types
sql/sql_yacc.yy:
  Removed some old types
  Changed some string lengths to use size_t
  Added missing casts for alloc()
sql/stacktrace.c:
  Removed some old types
sql/stacktrace.h:
  Removed some old types
sql/structs.h:
  Removed some old types
sql/table.cc:
  Removed some old types
  Updated hash-get-key function arguments
  Changed some buffers to be uchar* to avoid casts
  Removed setting of LEX_STRING() arguments in declaration
  Added required casts
  More function comments
  Moved max_row_length() here from sql_class.cc/sql_class.h
sql/table.h:
  Removed some old types
  Changed some string lengths to use size_t
sql/thr_malloc.cc:
  Use void* as type for allocated memory area
  Changed all functions to use size_t
sql/tzfile.h:
  Changed some buffers to be uchar* to avoid casts
sql/tztime.cc:
  Changed some buffers to be uchar* to avoid casts
  Updated hash-get-key function arguments
  Added missing casts for alloc()
  Removed some not needed casts
sql/uniques.cc:
  Removed some old types
  Removed some not needed casts
sql/unireg.cc:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
  Removed some not needed casts
  Added missing casts for alloc()
storage/archive/archive_reader.c:
  Removed some old types
storage/archive/azio.c:
  Removed some old types
  Removed some not needed casts
storage/archive/ha_archive.cc:
  Removed some old types
  Changed type for 'frmblob' in archive_discover() to match handler
  Updated hash-get-key function arguments
  Removed some not needed casts
storage/archive/ha_archive.h:
  Removed some old types
storage/blackhole/ha_blackhole.cc:
  Removed some old types
storage/blackhole/ha_blackhole.h:
  Removed some old types
storage/csv/ha_tina.cc:
  Removed some old types
  Updated hash-get-key function arguments
  Changed some buffers to be uchar* to avoid casts
storage/csv/ha_tina.h:
  Removed some old types
  Removed some not needed casts
storage/csv/transparent_file.cc:
  Removed some old types
  Changed type of 'bytes_read' to be able to detect read errors
  Fixed indentation
storage/csv/transparent_file.h:
  Removed some old types
storage/example/ha_example.cc:
  Removed some old types
  Updated hash-get-key function arguments
storage/example/ha_example.h:
  Removed some old types
storage/federated/ha_federated.cc:
  Removed some old types
  Updated hash-get-key function arguments
  Removed some not needed casts
storage/federated/ha_federated.h:
  Removed some old types
storage/heap/_check.c:
  Changed some buffers to be uchar* to avoid casts
storage/heap/_rectest.c:
  Removed some old types
storage/heap/ha_heap.cc:
  Removed some old types
storage/heap/ha_heap.h:
  Removed some old types
storage/heap/heapdef.h:
  Removed some old types
storage/heap/hp_block.c:
  Removed some old types
  Changed some string lengths to use size_t
storage/heap/hp_clear.c:
  Removed some old types
storage/heap/hp_close.c:
  Removed some old types
storage/heap/hp_create.c:
  Removed some old types
storage/heap/hp_delete.c:
  Removed some old types
storage/heap/hp_hash.c:
  Removed some old types
storage/heap/hp_info.c:
  Removed some old types
storage/heap/hp_open.c:
  Removed some old types
storage/heap/hp_rfirst.c:
  Removed some old types
storage/heap/hp_rkey.c:
  Removed some old types
storage/heap/hp_rlast.c:
  Removed some old types
storage/heap/hp_rnext.c:
  Removed some old types
storage/heap/hp_rprev.c:
  Removed some old types
storage/heap/hp_rrnd.c:
  Removed some old types
storage/heap/hp_rsame.c:
  Removed some old types
storage/heap/hp_scan.c:
  Removed some old types
storage/heap/hp_test1.c:
  Removed some old types
storage/heap/hp_test2.c:
  Removed some old types
storage/heap/hp_update.c:
  Removed some old types
storage/heap/hp_write.c:
  Removed some old types
  Changed some string lengths to use size_t
storage/innobase/handler/ha_innodb.cc:
  Removed some old types
  Updated hash-get-key function arguments
  Added missing casts for alloc() and printf()
  Removed some not needed casts
storage/innobase/handler/ha_innodb.h:
  Removed some old types
storage/myisam/ft_boolean_search.c:
  Removed some old types
storage/myisam/ft_nlq_search.c:
  Removed some old types
storage/myisam/ft_parser.c:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
storage/myisam/ft_static.c:
  Removed some old types
storage/myisam/ft_stopwords.c:
  Removed some old types
storage/myisam/ft_update.c:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
storage/myisam/ftdefs.h:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
storage/myisam/fulltext.h:
  Removed some old types
storage/myisam/ha_myisam.cc:
  Removed some old types
storage/myisam/ha_myisam.h:
  Removed some old types
storage/myisam/mi_cache.c:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
storage/myisam/mi_check.c:
  Removed some old types
storage/myisam/mi_checksum.c:
  Removed some old types
storage/myisam/mi_close.c:
  Removed some old types
storage/myisam/mi_create.c:
  Removed some old types
storage/myisam/mi_delete.c:
  Removed some old types
storage/myisam/mi_delete_all.c:
  Removed some old types
storage/myisam/mi_dynrec.c:
  Removed some old types
storage/myisam/mi_extra.c:
  Removed some old types
storage/myisam/mi_key.c:
  Removed some old types
storage/myisam/mi_locking.c:
  Removed some old types
storage/myisam/mi_log.c:
  Removed some old types
storage/myisam/mi_open.c:
  Removed some old types
  Removed some not needed casts
  Check argument of my_write()/my_pwrite() in functions returning int
  Added casting of string lengths to size_t
storage/myisam/mi_packrec.c:
  Removed some old types
  Changed some buffers to be uchar* to avoid casts
storage/myisam/mi_page.c:
  Removed some old types
storage/myisam/mi_preload.c:
  Removed some old types
storage/myisam/mi_range.c:
  Removed some old types
storage/myisam/mi_rfirst.c:
  Removed some old types
storage/myisam/mi_rkey.c:
  Removed some old types
storage/myisam/mi_rlast.c:
  Removed some old types
storage/myisam/mi_rnext.c:
  Removed some old types
storage/myisam/mi_rnext_same.c:
  Removed some old types
storage/myisam/mi_rprev.c:
  Removed some old types
storage/myisam/mi_rrnd.c:
  Removed some old types
storage/myisam/mi_rsame.c:
  Removed some old types
storage/myisam/mi_rsamepos.c:
  Removed some old types
storage/myisam/mi_scan.c:
  Removed some old types
storage/myisam/mi_search.c:
  Removed some old types
storage/myisam/mi_static.c:
  Removed some old types
storage/myisam/mi_statrec.c:
  Removed some old types
storage/myisam/mi_test1.c:
  Removed some old types
storage/myisam/mi_test2.c:
  Removed some old types
storage/myisam/mi_test3.c:
  Removed some old types
storage/myisam/mi_unique.c:
  Removed some old types
storage/myisam/mi_update.c:
  Removed some old types
storage/myisam/mi_write.c:
  Removed some old types
storage/myisam/myisam_ftdump.c:
  Removed some old types
storage/myisam/myisamchk.c:
  Removed some old types
storage/myisam/myisamdef.h:
  Removed some old types
storage/myisam/myisamlog.c:
  Removed some old types
  Indentation fix
storage/myisam/myisampack.c:
  Removed some old types
storage/myisam/rt_index.c:
  Removed some old types
storage/myisam/rt_split.c:
  Removed some old types
storage/myisam/sort.c:
  Removed some old types
storage/myisam/sp_defs.h:
  Removed some old types
storage/myisam/sp_key.c:
  Removed some old types
storage/myisammrg/ha_myisammrg.cc:
  Removed some old types
storage/myisammrg/ha_myisammrg.h:
  Removed some old types
storage/myisammrg/myrg_close.c:
  Removed some old types
storage/myisammrg/myrg_def.h:
  Removed some old types
storage/myisammrg/myrg_delete.c:
  Removed some old types
storage/myisammrg/myrg_open.c:
  Removed some old types
  Updated parameters to dirname_part()
storage/myisammrg/myrg_queue.c:
  Removed some old types
storage/myisammrg/myrg_rfirst.c:
  Removed some old types
storage/myisammrg/myrg_rkey.c:
  Removed some old types
storage/myisammrg/myrg_rlast.c:
  Removed some old types
storage/myisammrg/myrg_rnext.c:
  Removed some old types
storage/myisammrg/myrg_rnext_same.c:
  Removed some old types
storage/myisammrg/myrg_rprev.c:
  Removed some old types
storage/myisammrg/myrg_rrnd.c:
  Removed some old types
storage/myisammrg/myrg_rsame.c:
  Removed some old types
storage/myisammrg/myrg_update.c:
  Removed some old types
storage/myisammrg/myrg_write.c:
  Removed some old types
storage/ndb/include/util/ndb_opts.h:
  Removed some old types
storage/ndb/src/cw/cpcd/main.cpp:
  Removed some old types
storage/ndb/src/kernel/vm/Configuration.cpp:
  Removed some old types
storage/ndb/src/mgmclient/main.cpp:
  Removed some old types
storage/ndb/src/mgmsrv/InitConfigFileParser.cpp:
  Removed some old types
  Removed old disabled code
storage/ndb/src/mgmsrv/main.cpp:
  Removed some old types
storage/ndb/src/ndbapi/NdbBlob.cpp:
  Removed some old types
storage/ndb/src/ndbapi/NdbOperationDefine.cpp:
  Removed not used variable
storage/ndb/src/ndbapi/NdbOperationInt.cpp:
  Added required casts
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
  Added required casts
storage/ndb/tools/delete_all.cpp:
  Removed some old types
storage/ndb/tools/desc.cpp:
  Removed some old types
storage/ndb/tools/drop_index.cpp:
  Removed some old types
storage/ndb/tools/drop_tab.cpp:
  Removed some old types
storage/ndb/tools/listTables.cpp:
  Removed some old types
storage/ndb/tools/ndb_config.cpp:
  Removed some old types
storage/ndb/tools/restore/consumer_restore.cpp:
  Changed some buffers to be uchar* to avoid casts with new defintion of packfrm()
storage/ndb/tools/restore/restore_main.cpp:
  Removed some old types
storage/ndb/tools/select_all.cpp:
  Removed some old types
storage/ndb/tools/select_count.cpp:
  Removed some old types
storage/ndb/tools/waiter.cpp:
  Removed some old types
strings/bchange.c:
  Changed function to use uchar * and size_t
strings/bcmp.c:
  Changed function to use uchar * and size_t
strings/bmove512.c:
  Changed function to use uchar * and size_t
strings/bmove_upp.c:
  Changed function to use uchar * and size_t
strings/ctype-big5.c:
  Changed functions to use size_t
  Changed character length functions to return uint
strings/ctype-bin.c:
  Changed functions to use size_t
strings/ctype-cp932.c:
  Changed functions to use size_t
  Changed character length functions to return uint
strings/ctype-czech.c:
  Fixed indentation
  Changed functions to use size_t
strings/ctype-euc_kr.c:
  Changed functions to use size_t
  Changed character length functions to return uint
strings/ctype-eucjpms.c:
  Changed functions to use size_t
  Changed character length functions to return uint
  unsigned char -> uchar
strings/ctype-gb2312.c:
  Changed functions to use size_t
  Changed character length functions to return uint
strings/ctype-gbk.c:
  Changed functions to use size_t
  Changed character length functions to return uint
strings/ctype-latin1.c:
  Changed functions to use size_t
  Changed character length functions to return uint
  unsigned char -> uchar
strings/ctype-mb.c:
  Changed functions to use size_t
  Changed character length functions to return uint
strings/ctype-simple.c:
  Changed functions to use size_t
  Simpler loops for caseup/casedown
  unsigned int -> uint
  unsigned char -> uchar
strings/ctype-sjis.c:
  Changed functions to use size_t
  Changed character length functions to return uint
strings/ctype-tis620.c:
  Changed functions to use size_t
  Changed character length functions to return uint
  unsigned char -> uchar
strings/ctype-uca.c:
  Changed functions to use size_t
  unsigned char -> uchar
strings/ctype-ucs2.c:
  Moved inclusion of stdarg.h to other includes
  usigned char -> uchar
  Changed functions to use size_t
  Changed character length functions to return uint
strings/ctype-ujis.c:
  Changed functions to use size_t
  Changed character length functions to return uint
  unsigned char -> uchar
strings/ctype-utf8.c:
  Changed functions to use size_t
  unsigned char -> uchar
  Indentation fixes
strings/ctype-win1250ch.c:
  Indentation fixes
  Changed functions to use size_t
strings/ctype.c:
  Changed functions to use size_t
strings/decimal.c:
  Changed type for memory argument to uchar *
strings/do_ctype.c:
  Indentation fixes
strings/my_strtoll10.c:
  unsigned char -> uchar
strings/my_vsnprintf.c:
  Changed functions to use size_t
strings/r_strinstr.c:
  Removed some old types
  Changed functions to use size_t
strings/str_test.c:
  Removed some old types
strings/strappend.c:
  Changed functions to use size_t
strings/strcont.c:
  Removed some old types
strings/strfill.c:
  Removed some old types
strings/strinstr.c:
  Changed functions to use size_t
strings/strlen.c:
  Changed functions to use size_t
strings/strmake.c:
  Changed functions to use size_t
strings/strnlen.c:
  Changed functions to use size_t
strings/strnmov.c:
  Changed functions to use size_t
strings/strto.c:
  unsigned char -> uchar
strings/strtod.c:
  Changed functions to use size_t
strings/strxnmov.c:
  Changed functions to use size_t
strings/xml.c:
  Changed functions to use size_t
  Indentation fixes
tests/mysql_client_test.c:
  Removed some old types
tests/thread_test.c:
  Removed some old types
vio/test-ssl.c:
  Removed some old types
vio/test-sslclient.c:
  Removed some old types
vio/test-sslserver.c:
  Removed some old types
vio/vio.c:
  Removed some old types
vio/vio_priv.h:
  Removed some old types
  Changed vio_read()/vio_write() to work with size_t
vio/viosocket.c:
  Changed vio_read()/vio_write() to work with size_t
  Indentation fixes
vio/viossl.c:
  Changed vio_read()/vio_write() to work with size_t
  Indentation fixes
vio/viosslfactories.c:
  Removed some old types
vio/viotest-ssl.c:
  Removed some old types
win/README:
  More explanations
2007-05-10 12:59:39 +03:00
unknown
034c11f3cd manual merge 5.0-runtime -> 5.1->runtime, with 25411 part I 2007-04-25 21:38:12 -06:00
unknown
3eff7d4dd5 Bug#25411 (trigger code truncated), PART I
The issue found with bug 25411 is due to the function skip_rear_comments()
which damages the source code while implementing a work around.
The root cause of the problem is in the lexical analyser, which does not
process special comments properly.
For special comments like :
[1] aaa /*!50000 bbb */ ccc
since 5.0 is a version older that the current code, the parser is in lining
the content of the special comment, so that the query to process is
[2] aaa bbb ccc
However, the text of the query captured when processing a stored procedure,
stored function or trigger (or event in 5.1), can be after rebuilding it:
[3] aaa bbb */ ccc
which is wrong.

To fix bug 25411 properly, the lexical analyser needs to return [2] when
in lining special comments.
In order to implement this, some preliminary cleanup is required in the code,
which is implemented by this patch.

Before this change, the structure named LEX (or st_lex) contains attributes
that belong to lexical analysis, as well as attributes that represents the
abstract syntax tree (AST) of a statement.
Creating a new LEX structure for each statements (which makes sense for the
AST part) also re-initialized the lexical analysis phase each time, which
is conceptually wrong.

With this patch, the previous st_lex structure has been split in two:
- st_lex represents the Abstract Syntax Tree for a statement. The name "lex"
has not been changed to avoid a bigger impact in the code base.
- class lex_input_stream represents the internal state of the lexical
  analyser, which by definition should *not* be reinitialized when parsing
  multiple statements from the same input stream.

This change is a pre-requisite for bug 25411, since the implementation of
lex_input_stream will later improve to deal properly with special comments,
and this processing can not be done with the current implementation of
sp_head::reset_lex and sp_head::restore_lex, which interfere with the lexer.

This change set alone does not fix bug 25411.


sql/item_func.cc:
  Refactoring, separate lex_input_stream from st_lex.
sql/log_event.cc:
  Refactoring, separate lex_input_stream from st_lex.
sql/mysql_priv.h:
  Refactoring, separate lex_input_stream from st_lex.
sql/slave.cc:
  Refactoring, separate lex_input_stream from st_lex.
sql/sp.cc:
  Refactoring, separate lex_input_stream from st_lex.
sql/sp_head.cc:
  Refactoring, separate lex_input_stream from st_lex.
sql/sp_head.h:
  Refactoring, separate lex_input_stream from st_lex.
sql/sql_class.cc:
  Refactoring, separate lex_input_stream from st_lex.
sql/sql_class.h:
  Refactoring, separate lex_input_stream from st_lex.
sql/sql_lex.cc:
  Refactoring, separate lex_input_stream from st_lex.
sql/sql_lex.h:
  Refactoring, separate lex_input_stream from st_lex.
sql/sql_parse.cc:
  Refactoring, separate lex_input_stream from st_lex.
sql/sql_prepare.cc:
  Refactoring, separate lex_input_stream from st_lex.
sql/sql_trigger.cc:
  Refactoring, separate lex_input_stream from st_lex.
sql/sql_view.cc:
  Refactoring, separate lex_input_stream from st_lex.
sql/sql_yacc.yy:
  Refactoring, separate lex_input_stream from st_lex.
2007-04-24 09:24:21 -06:00
unknown
27bb6c6f10 Fix rpl_trigger.test failure in the runtime tree.
sql/sql_trigger.cc:
  Fix a failure of rpl_trigger.test: triggers are not SUID on 
  replication slaves.
2007-04-14 17:05:41 -04:00
unknown
c1b6e128cc An attempt to fix a sporadic valgrind memory leak in Event Scheduler:
streamline the event worker thread work flow and try to eliminate
possibilities for memory corruptions that might have been
lurking in previous (complicated) code.
This patch: 
 * removes Event_job_data::compile that was never used
 * cleans up Event_job_data::execute to minimize juggling with
   thread context and eliminate unneded code paths
 * Implements Security_context::change/restore_security_context
   to be able to re-use these methods in all stored programs
This is to maybe fix Bug#27733 "Valgrind failures in 
remove_table_from_cache".
Review comments applied.


sql/event_data_objects.cc:
  Remove Event_job_data::compile, which was never used without
  Event_job_data::execute().
  Merge the implementation of compile() with Event_job_data::execute().
  Reuse existing functions to prepare the event worker thread
  for execution instead of some previously copy-pasted code.
  Do not change and restore the current database inside 
  Event_job_data::execute(), just set the current database in the 
  thread, that is enough to parse and execute an event.
sql/event_data_objects.h:
  Update declarations.
sql/event_scheduler.cc:
  Allocate Event_job_data on stack.
sql/item_func.cc:
  Update to match the new declaration of restore_security_context()
sql/sp_head.cc:
  Update to match the new declaration of 
  change/restore_security_context()
sql/sql_class.cc:
  Move change/restore_security_context to class Security_context.
  Add more comments.
sql/sql_class.h:
  Make change/restore_security_context methods of Security_context.
  That allows us to reuse them in Event Scheduler (instead of a
  copy-paste presently used there).
sql/sql_trigger.cc:
  Update to match the new declaration of 
  change/restore_security_context()
2007-04-13 16:35:56 -04:00
unknown
f5940fe904 Remove unnecessary casts to uchar. The casts are stemming from
the lexer API which internally uses  unsigned char variables to
address its state map. The implementation of the lexer should be
internal to the lexer, and not influence the rest of the code.


sql/event_data_objects.cc:
  Clean up unnecessary type casts.
sql/event_data_objects.h:
  Clean up unnecessary type casts.
sql/ha_ndbcluster.cc:
  Clean up unnecessary type casts.
sql/mysql_priv.h:
  Clean up unnecessary type casts.
sql/partition_info.h:
  Clean up unnecessary type casts.
sql/sp.cc:
  Clean up unnecessary type casts.
sql/sp_head.cc:
  Clean up unnecessary type casts.
sql/sp_head.h:
  Clean up unnecessary type casts.
sql/sql_lex.cc:
  Clean up unnecessary type casts.
sql/sql_lex.h:
  Clean up unnecessary type casts.
sql/sql_parse.cc:
  Clean up unnecessary type casts.
sql/sql_partition.cc:
  Clean up unnecessary type casts.
sql/sql_partition.h:
  Clean up unnecessary type casts.
sql/sql_prepare.cc:
  Clean up unnecessary type casts.
sql/sql_trigger.cc:
  Clean up unnecessary type casts.
sql/sql_view.cc:
  Clean up unnecessary type casts.
sql/sql_yacc.yy:
  Clean up unnecessary type casts.
sql/table.cc:
  Clean up unnecessary type casts.
sql/table.h:
  Clean up unnecessary type casts.
2007-03-27 21:09:56 +04:00
unknown
e7362d5c32 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/51
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/51


mysql-test/r/trigger.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
2007-03-08 00:02:41 +01:00
unknown
676b59cffa Merge bodhi.local:/opt/local/work/mysql-5.0-26750
into  bodhi.local:/opt/local/work/mysql-5.1-runtime


mysql-test/r/trigger.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
sql/sql_class.cc:
  Manual merge.
sql/sql_class.h:
  Manual merge.
sql/sql_parse.cc:
  Manual merge.
sql/sql_prepare.cc:
  Manual merge.
sql/sql_yacc.yy:
  Manual merge.
2007-03-07 13:02:14 +03:00
unknown
053c6c01d6 A fix for Bug#26750 "valgrind leak in sp_head" (and post-review
fixes).

The legend: on a replication slave, in case a trigger creation
was filtered out because of application of replicate-do-table/
replicate-ignore-table rule, the parsed definition of a trigger was not 
cleaned up properly. LEX::sphead member was left around and leaked 
memory. Until the actual implementation of support of 
replicate-ignore-table rules for triggers by the patch for Bug 24478 it 
was never the case that "case SQLCOM_CREATE_TRIGGER"
was not executed once a trigger was parsed,
so the deletion of lex->sphead there worked and the memory did not leak.

The fix: 

The real cause of the bug is that there is no 1 or 2 places where
we can clean up the main LEX after parse. And the reason we 
can not have just one or two places where we clean up the LEX is
asymmetric behaviour of MYSQLparse in case of success or error. 

One of the root causes of this behaviour is the code in Item::Item()
constructor. There, a newly created item adds itself to THD::free_list
- a single-linked list of Items used in a statement. Yuck. This code
is unaware that we may have more than one statement active at a time,
and always assumes that the free_list of the current statement is
located in THD::free_list. One day we need to be able to explicitly
allocate an item in a given Query_arena.
Thus, when parsing a definition of a stored procedure, like
CREATE PROCEDURE p1() BEGIN SELECT a FROM t1; SELECT b FROM t1; END;
we actually need to reset THD::mem_root, THD::free_list and THD::lex
to parse the nested procedure statement (SELECT *).
The actual reset and restore is implemented in semantic actions
attached to sp_proc_stmt grammar rule.
The problem is that in case of a parsing error inside a nested statement
Bison generated parser would abort immediately, without executing the
restore part of the semantic action. This would leave THD in an 
in-the-middle-of-parsing state.
This is why we couldn't have had a single place where we clean up the LEX
after MYSQLparse - in case of an error we needed to do a clean up
immediately, in case of success a clean up could have been delayed.
This left the door open for a memory leak.

One of the following possibilities were considered when working on a fix:
- patch the replication logic to do the clean up. Rejected
as breaks module borders, replication code should not need to know the
gory details of clean up procedure after CREATE TRIGGER.
- wrap MYSQLparse with a function that would do a clean up.
Rejected as ideally we should fix the problem when it happens, not
adjust for it outside of the problematic code.
- make sure MYSQLparse cleans up after itself by invoking the clean up
functionality in the appropriate places before return. Implemented in 
this patch.
- use %destructor rule for sp_proc_stmt to restore THD - cleaner
than the prevoius approach, but rejected
because needs a careful analysis of the side effects, and this patch is 
for 5.0, and long term we need to use the next alternative anyway
- make sure that sp_proc_stmt doesn't juggle with THD - this is a 
large work that will affect many modules.

Cleanup: move main_lex and main_mem_root from Statement to its
only two descendants Prepared_statement and THD. This ensures that
when a Statement instance was created for purposes of statement backup,
we do not involve LEX constructor/destructor, which is fairly expensive.
In order to track that the transformation produces equivalent 
functionality please check the respective constructors and destructors
of Statement, Prepared_statement and THD - these members were
used only there.
This cleanup is unrelated to the patch.


sql/log_event.cc:
  THD::main_lex is private and should not be used.
sql/mysqld.cc:
  Move MYSQLerror to sql_yacc.yy as it depends on LEX headers now.
sql/sql_class.cc:
  Cleanup: move main_lex and main_mem_root to THD and Prepared_statement
sql/sql_class.h:
  Cleanup: move main_lex and main_mem_root to THD and Prepared_statement
sql/sql_lex.cc:
  Implement st_lex::restore_lex()
sql/sql_lex.h:
  Declare st_lex::restore_lex().
sql/sql_parse.cc:
  Consolidate the calls to unit.cleanup() and deletion of lex->sphead
  in mysql_parse (COM_QUERY handler)
sql/sql_prepare.cc:
  No need to delete lex->sphead to restore memory roots now in case of a 
  parse error - this is done automatically inside MYSQLparse
sql/sql_trigger.cc:
  This code could lead to double deletion apparently, as in case
  of an error lex.sphead was never reset.
sql/sql_yacc.yy:
  Trap all returns from the parser to ensure that MySQL-specific cleanup
  is invoked: we need to restore the global state of THD and LEX in 
  case of a parsing error. In case of a parsing success this happens as 
  part of normal grammar reduction process.
2007-03-07 12:24:46 +03:00
unknown
a69a96e26a Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/51


client/mysqltest.c:
  Auto merged
include/my_pthread.h:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysys/my_wincond.c:
  Auto merged
sql/event_queue.cc:
  Auto merged
sql/field.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.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/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
client/mysql_upgrade.c:
  Manual merge; I chose to keep Magnus' changes because they make the code
  more simple; always use *only* the option file created by mysql_upgrade.
mysql-test/extra/binlog_tests/ctype_cp932.test:
  Manual merge
mysql-test/r/binlog_row_ctype_cp932.result:
  Manual merge
mysql-test/r/binlog_stm_ctype_cp932.result:
  Manual merge
mysql-test/r/mysqlbinlog.result:
  Manual merge
mysql-test/r/rpl_switch_stm_row_mixed.result:
  Manual merge
mysql-test/t/mysqlbinlog.test:
  Manual merge
mysql-test/t/rpl_switch_stm_row_mixed.test:
  Manual merge
2007-03-07 07:21:24 +01:00
unknown
e95a62a737 Merge mysql.com:/nfsdisk1/lars/bk/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/bk/mysql-5.1-new-rpl


mysql-test/r/mysqlbinlog.result:
  Auto merged
mysql-test/r/rpl_replicate_do.result:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  Auto merged
mysql-test/t/rpl_replicate_do.test:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_trigger.h:
  Auto merged
sql/slave.cc:
  Manual merge
sql/sql_insert.cc:
  Manual merge
sql/sql_parse.cc:
  Manual merge
sql/sql_yacc.yy:
  Manual merge
2007-03-01 15:39:57 +01:00
unknown
e91d273871 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/home/bar/mysql-5.0.b24478


sql/sql_parse.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_trigger.h:
  Auto merged
2007-02-27 12:46:50 +04:00
unknown
7d883c0def Bug#24478 DROP TRIGGER is not caught by replicate-*-table filters
Problem: DROP TRIGGER was not properly handled in combination
with slave filters, which made replication stop
Fix: loading table name before checking slave filters when
dropping a trigger.


mysql-test/r/rpl_replicate_do.result:
  Adding test case
mysql-test/t/rpl_replicate_do.test:
  Adding test case
sql/sql_parse.cc:
  Loading table name when dropping a trigger
  before checking slave filtering rules.
sql/sql_trigger.cc:
  Making add_table_for_trigger() public
sql/sql_trigger.h:
  Making add_table_for_trigger() public
2007-02-26 15:25:43 +04:00
unknown
7d1fefeaf5 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  calliope.local.cmiller:/Volumes/Source/src/mysql-5.1-maint


sql/sql_trigger.cc:
  Auto merged
2007-02-12 14:39:42 -05:00
unknown
48b461a486 Style fix-up and comment correction. 2007-02-11 13:23:23 +01:00
unknown
36b058929f Merge mysql.com:/home/my/mysql-5.0
into  mysql.com:/home/my/mysql-5.1
Merge of 'remove compiler warnings when using -Wshadow'


BitKeeper/etc/ignore:
  auto-union
BitKeeper/deleted/.del-MetaData.hpp~538342afcd8ac53c:
  Auto merged
configure.in:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysql_upgrade.c:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
extra/yassl/include/yassl_int.hpp:
  Auto merged
extra/yassl/taocrypt/include/algebra.hpp:
  Auto merged
include/m_ctype.h:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/my_time.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
mysql-test/r/mysqltest.result:
  Auto merged
mysql-test/t/mysql.test:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  Auto merged
mysql-test/t/mysqlcheck.test:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
mysql-test/t/wait_timeout.test:
  Auto merged
mysys/default.c:
  Auto merged
mysys/mf_iocache2.c:
  Auto merged
mysys/mf_keycache.c:
  Auto merged
server-tools/instance-manager/instance_options.cc:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_geofunc.cc:
  Auto merged
sql/item_row.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/password.c:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/spatial.h:
  Auto merged
sql/sql_cache.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/sql_string.cc:
  Auto merged
sql/sql_string.h:
  Auto merged
sql/sql_trigger.h:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/tztime.cc:
  Auto merged
storage/archive/ha_archive.h:
  Auto merged
storage/heap/hp_write.c:
  Auto merged
storage/myisam/ft_boolean_search.c:
  Auto merged
storage/myisam/mi_open.c:
  Auto merged
storage/myisam/mi_search.c:
  Auto merged
storage/myisam/mi_unique.c:
  Auto merged
storage/myisam/myisampack.c:
  Auto merged
storage/myisam/rt_index.c:
  Auto merged
storage/myisam/sort.c:
  Auto merged
storage/ndb/include/kernel/signaldata/ArbitSignalData.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DictTabInfo.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbReceiver.hpp:
  Auto merged
storage/ndb/include/transporter/TransporterDefinitions.hpp:
  Auto merged
storage/ndb/include/util/OutputStream.hpp:
  Auto merged
storage/ndb/include/util/SimpleProperties.hpp:
  Auto merged
storage/ndb/include/util/SocketAuthenticator.hpp:
  Auto merged
storage/ndb/include/util/SocketServer.hpp:
  Auto merged
storage/ndb/src/common/portlib/NdbTick.c:
  Auto merged
storage/ndb/src/common/transporter/SHM_Transporter.cpp:
  Auto merged
storage/ndb/src/common/transporter/TCP_Transporter.cpp:
  Auto merged
storage/ndb/src/common/transporter/TCP_Transporter.hpp:
  Auto merged
storage/ndb/src/common/transporter/Transporter.cpp:
  Auto merged
storage/ndb/src/common/transporter/TransporterRegistry.cpp:
  Auto merged
storage/ndb/src/common/util/File.cpp:
  Auto merged
storage/ndb/src/common/util/Properties.cpp:
  Auto merged
storage/ndb/src/common/util/SocketClient.cpp:
  Auto merged
storage/ndb/src/common/util/random.c:
  Auto merged
storage/ndb/src/common/util/socket_io.cpp:
  Auto merged
storage/ndb/src/cw/cpcd/APIService.cpp:
  Auto merged
storage/ndb/src/cw/cpcd/main.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
  Auto merged
storage/ndb/src/mgmapi/LocalConfig.cpp:
  Auto merged
storage/ndb/src/mgmapi/mgmapi.cpp:
  Auto merged
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.hpp:
  Auto merged
storage/ndb/src/mgmsrv/InitConfigFileParser.cpp:
  Auto merged
storage/ndb/src/mgmsrv/MgmtSrvr.hpp:
  Auto merged
storage/ndb/src/mgmsrv/Services.cpp:
  Auto merged
storage/ndb/src/mgmsrv/main.cpp:
  Auto merged
storage/ndb/src/ndbapi/ClusterMgr.hpp:
  Auto merged
storage/ndb/src/ndbapi/Ndb.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbIndexOperation.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperationExec.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperationSearch.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbScanFilter.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
  Auto merged
storage/ndb/src/ndbapi/SignalSender.cpp:
  Auto merged
storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
  Auto merged
storage/ndb/tools/delete_all.cpp:
  Auto merged
storage/ndb/tools/desc.cpp:
  Auto merged
storage/ndb/tools/drop_index.cpp:
  Auto merged
storage/ndb/tools/drop_tab.cpp:
  Auto merged
storage/ndb/tools/listTables.cpp:
  Auto merged
storage/ndb/tools/ndb_condig.cpp:
  Auto merged
storage/ndb/tools/restore/Restore.hpp:
  Auto merged
storage/ndb/tools/restore/consumer.hpp:
  Auto merged
storage/ndb/tools/select_all.cpp:
  Auto merged
storage/ndb/tools/select_count.cpp:
  Auto merged
strings/ctype-bin.c:
  Auto merged
strings/ctype-cp932.c:
  Auto merged
strings/ctype-eucjpms.c:
  Auto merged
strings/ctype-mb.c:
  Auto merged
strings/ctype-simple.c:
  Auto merged
strings/ctype-sjis.c:
  Auto merged
strings/ctype-ujis.c:
  Auto merged
strings/ctype-utf8.c:
  Auto merged
strings/decimal.c:
  Auto merged
BUILD/SETUP.sh:
  manual merge
BUILD/compile-pentium-gcov:
  manual merge
Makefile.am:
  manual merge
client/mysqltest.c:
  Automatic merge
include/mysql.h:
  manual merge
libmysqld/lib_sql.cc:
  Automatic merge
mysql-test/r/mysqlbinlog.result:
  Automatic merge
mysql-test/r/mysqlcheck.result:
  Fixed test case (we should never drop 'test' database)
mysys/my_bitmap.c:
  manual merge
server-tools/instance-manager/commands.h:
  manual merge
server-tools/instance-manager/guardian.cc:
  manual merge
server-tools/instance-manager/mysql_connection.cc:
  manual merge
server-tools/instance-manager/options.cc:
  manual merge
server-tools/instance-manager/options.h:
  manual merge
server-tools/instance-manager/parse.cc:
  Automatic merge
server-tools/instance-manager/user_map.cc:
  manual merge
server-tools/instance-manager/user_map.h:
  manual merge
sql/field.cc:
  manual merge
sql/field.h:
  manual merge
sql/ha_ndbcluster.cc:
  manual merge
sql/handler.cc:
  manual merge
sql/item.cc:
  manual merge
sql/item.h:
  Automatic merge
sql/log.cc:
  manual merge
sql/log_event.cc:
  manual merge
sql/mysqld.cc:
  manual merge
sql/slave.cc:
  manual merge
sql/spatial.cc:
  Automatic merge
sql/sql_class.h:
  manual merge
sql/sql_insert.cc:
  manual merge
sql/sql_parse.cc:
  manual merge
sql/sql_select.cc:
  manual merge
sql/sql_show.cc:
  manual merge
sql/sql_table.cc:
  manual merge
sql/sql_trigger.cc:
  manual merge
sql/sql_view.cc:
  manual merge
sql/sql_yacc.yy:
  manual merge
  Made setting thd and lex uniform
sql/table.cc:
  manual merge
sql/unireg.cc:
  manual merge
storage/archive/ha_archive.cc:
  manual merge
storage/federated/ha_federated.cc:
  manual merge
storage/heap/ha_heap.cc:
  manual merge
storage/myisam/ha_myisam.cc:
  manual merge
storage/myisammrg/ha_myisammrg.cc:
  manual merge
storage/ndb/include/util/InputStream.hpp:
  manual merge
storage/ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  manual merge
storage/ndb/src/common/util/Bitmask.cpp:
  manual merge
storage/ndb/src/common/util/ConfigValues.cpp:
  Automatic merge
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  manual merge
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  manual merge
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  manual merge
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  manual merge
  Changed commented code to be #ifdef-ed instead
storage/ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
  manual merge
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
  Automatic merge
storage/ndb/src/kernel/blocks/suma/Suma.hpp:
  manual merge
storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
  Automatic merge
storage/ndb/src/ndbapi/NdbBlob.cpp:
  Automatic merge
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Automatic merge
storage/ndb/src/ndbapi/NdbOperationDefine.cpp:
  manual merge
storage/ndb/tools/restore/restore_main.cpp:
  manual merge
tests/mysql_client_test.c:
  manual merge
2007-01-27 03:46:45 +02:00
unknown
03e4b98c7b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0


BitKeeper/etc/ignore:
  added mysql-test/mysql-test-run-shell
client/mysql.cc:
  Auto merged
client/mysql_upgrade.c:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
client/mysqltest.c:
  Auto merged
client/sql_string.cc:
  Auto merged
client/sql_string.h:
  Auto merged
extra/my_print_defaults.c:
  Auto merged
include/m_ctype.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/my_time.h:
  Auto merged
include/mysql.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
myisam/ft_boolean_search.c:
  Auto merged
myisam/mi_open.c:
  Auto merged
myisam/mi_search.c:
  Auto merged
myisam/mi_unique.c:
  Auto merged
myisam/myisampack.c:
  Auto merged
myisam/rt_index.c:
  Auto merged
myisam/sort.c:
  Auto merged
mysql-test/t/mysql.test:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
mysys/default.c:
  Auto merged
mysys/mf_iocache2.c:
  Auto merged
mysys/mf_keycache.c:
  Auto merged
mysys/my_bitmap.c:
  Auto merged
mysys/sha1.c:
  Auto merged
ndb/include/kernel/signaldata/ArbitSignalData.hpp:
  Auto merged
ndb/include/kernel/signaldata/DictTabInfo.hpp:
  Auto merged
ndb/include/ndbapi/NdbReceiver.hpp:
  Auto merged
ndb/include/transporter/TransporterDefinitions.hpp:
  Auto merged
ndb/include/util/InputStream.hpp:
  Auto merged
ndb/include/util/OutputStream.hpp:
  Auto merged
ndb/include/util/SimpleProperties.hpp:
  Auto merged
ndb/include/util/SocketAuthenticator.hpp:
  Auto merged
ndb/include/util/SocketServer.hpp:
  Auto merged
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  Auto merged
ndb/src/common/portlib/NdbTick.c:
  Auto merged
ndb/src/common/transporter/SHM_Transporter.cpp:
  Auto merged
ndb/src/common/transporter/TCP_Transporter.cpp:
  Auto merged
ndb/src/common/transporter/TCP_Transporter.hpp:
  Auto merged
ndb/src/common/transporter/Transporter.cpp:
  Auto merged
ndb/src/common/transporter/TransporterRegistry.cpp:
  Auto merged
ndb/src/common/util/Bitmask.cpp:
  Auto merged
ndb/src/common/util/ConfigValues.cpp:
  Auto merged
ndb/src/common/util/File.cpp:
  Auto merged
ndb/src/common/util/Properties.cpp:
  Auto merged
ndb/src/common/util/SocketClient.cpp:
  Auto merged
ndb/src/common/util/random.c:
  Auto merged
ndb/src/common/util/socket_io.cpp:
  Auto merged
ndb/src/cw/cpcd/APIService.cpp:
  Auto merged
ndb/src/cw/cpcd/main.cpp:
  Auto merged
ndb/src/kernel/blocks/cmvmi/Cmvmi.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/Dbdih.hpp:
  Auto merged
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Auto merged
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  Auto merged
ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp:
  Auto merged
ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp:
  Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Auto merged
ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp:
  Auto merged
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
  Auto merged
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
  Auto merged
ndb/src/kernel/blocks/suma/Suma.cpp:
  Auto merged
ndb/src/kernel/blocks/suma/Suma.hpp:
  Auto merged
ndb/src/kernel/vm/MetaData.hpp:
  Auto merged
ndb/src/mgmapi/LocalConfig.cpp:
  Auto merged
ndb/src/mgmapi/mgmapi.cpp:
  Auto merged
ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
ndb/src/mgmsrv/ConfigInfo.hpp:
  Auto merged
ndb/src/mgmsrv/InitConfigFileParser.cpp:
  Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
  Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
  Auto merged
ndb/src/mgmsrv/Services.cpp:
  Auto merged
ndb/src/mgmsrv/main.cpp:
  Auto merged
ndb/src/ndbapi/ClusterMgr.hpp:
  Auto merged
ndb/src/ndbapi/Ndb.cpp:
  Auto merged
ndb/src/ndbapi/NdbBlob.cpp:
  Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
ndb/src/ndbapi/NdbIndexOperation.cpp:
  Auto merged
ndb/src/ndbapi/NdbOperationDefine.cpp:
  Auto merged
ndb/src/ndbapi/NdbOperationExec.cpp:
  Auto merged
ndb/src/ndbapi/NdbOperationSearch.cpp:
  Auto merged
ndb/src/ndbapi/NdbScanFilter.cpp:
  Auto merged
ndb/src/ndbapi/NdbScanOperation.cpp:
  Auto merged
ndb/src/ndbapi/SignalSender.cpp:
  Auto merged
ndb/src/ndbapi/ndb_cluster_connection.cpp:
  Auto merged
ndb/tools/delete_all.cpp:
  Auto merged
ndb/tools/desc.cpp:
  Auto merged
ndb/tools/drop_index.cpp:
  Auto merged
ndb/tools/drop_tab.cpp:
  Auto merged
ndb/tools/listTables.cpp:
  Auto merged
ndb/tools/ndb_config.cpp:
  Auto merged
ndb/tools/restore/Restore.hpp:
  Auto merged
ndb/tools/restore/consumer.hpp:
  Auto merged
ndb/tools/restore/restore_main.cpp:
  Auto merged
ndb/tools/select_all.cpp:
  Auto merged
ndb/tools/select_count.cpp:
  Auto merged
server-tools/instance-manager/commands.h:
  Auto merged
server-tools/instance-manager/guardian.cc:
  Auto merged
server-tools/instance-manager/instance_options.cc:
  Auto merged
server-tools/instance-manager/mysql_connection.cc:
  Auto merged
server-tools/instance-manager/options.cc:
  Auto merged
server-tools/instance-manager/options.h:
  Auto merged
server-tools/instance-manager/parse.cc:
  Auto merged
server-tools/instance-manager/user_map.cc:
  Auto merged
server-tools/instance-manager/user_map.h:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/ha_archive.cc:
  Auto merged
sql/ha_archive.h:
  Auto merged
sql/ha_federated.cc:
  Auto merged
sql/ha_heap.cc:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/ha_myisammrg.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_geofunc.cc:
  Auto merged
sql/item_row.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/password.c:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/spatial.cc:
  Auto merged
sql/spatial.h:
  Auto merged
sql/sql_cache.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_string.cc:
  Auto merged
sql/sql_string.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_trigger.h:
  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
sql/tztime.cc:
  Auto merged
sql/unireg.cc:
  Auto merged
strings/ctype-bin.c:
  Auto merged
strings/ctype-cp932.c:
  Auto merged
strings/ctype-eucjpms.c:
  Auto merged
strings/ctype-mb.c:
  Auto merged
strings/ctype-simple.c:
  Auto merged
strings/ctype-sjis.c:
  Auto merged
strings/ctype-uca.c:
  Auto merged
strings/ctype-ujis.c:
  Auto merged
strings/ctype-utf8.c:
  Auto merged
strings/decimal.c:
  Auto merged
strings/my_vsnprintf.c:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  Manual merge
sql/sql_class.h:
  Manual merge
sql/sql_parse.cc:
  Manual merge
2007-01-22 14:04:40 +02:00
unknown
4dabfa5de7 Merge mysql.com:/home/kent/bk/main/mysql-5.0
into  mysql.com:/home/kent/bk/main/mysql-5.1


BUILD/Makefile.am:
  Auto merged
BitKeeper/deleted/.del-ArrayFifoList.hpp~7036ae04dd7e7bd2:
  Auto merged
BitKeeper/deleted/.del-ArrayList.hpp~44695d09b1a02179:
  Auto merged
BitKeeper/deleted/.del-DbtupLCP.cpp~855b1ed3fbc86a42:
  Auto merged
BitKeeper/deleted/.del-DbtupSystemRestart.cpp~15b54d7e4e75d2d:
  Auto merged
BitKeeper/deleted/.del-DbtupUndoLog.cpp~5a2ef6e86b1404e9:
  Auto merged
Makefile.am:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~2:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~ab5c84d46412dc2e:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~abb265028eb9b6a7:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~de166d6fcac3b9b6:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~e5b911533dad2713:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~ead19441cc5ff35c:
  Auto merged
BitKeeper/deleted/.del-Makefile.am~f87185e232d7c4f:
  Auto merged
BitKeeper/deleted/.del-Makefile.in:
  Auto merged
BitKeeper/deleted/.del-MemoryChannelOSE.hpp:
  Auto merged
BitKeeper/deleted/.del-MetaData.cpp~146ae9865dd35829:
  Auto merged
BitKeeper/deleted/.del-MetaData.hpp~538342afcd8ac53c:
  Auto merged
BitKeeper/deleted/.del-NdbCondition.c~ad83464328ab37af:
  Auto merged
BitKeeper/deleted/.del-NdbCondition.c~ee56562abdd718cf:
  Auto merged
BitKeeper/deleted/.del-NdbConditionOSE.h~455dd2c29c2e6344:
  Auto merged
BitKeeper/deleted/.del-NdbDaemon.c~3b8101f376b28df:
  Auto merged
BitKeeper/deleted/.del-NdbEnv.c~207f9ce9754c9e8a:
  Auto merged
BitKeeper/deleted/.del-NdbEnv.c~bb6fe7572d45288a:
  Auto merged
BitKeeper/deleted/.del-NdbErrHnd.cpp:
  Auto merged
BitKeeper/deleted/.del-NdbHost.c~2c29816c77396d7b:
  Auto merged
BitKeeper/deleted/.del-NdbHost.c~cf18d6b3c825180c:
  Auto merged
BitKeeper/deleted/.del-NdbMem.c~6285b159985d46da:
  Auto merged
BitKeeper/deleted/.del-NdbMem.c~6c2b317c1ce230ab:
  Auto merged
BitKeeper/deleted/.del-NdbMem_SoftOse.cpp~9c61e311ec168d44:
  Auto merged
BitKeeper/deleted/.del-NdbMutex.c~768131269bccca10:
  Auto merged
BitKeeper/deleted/.del-NdbMutex.c~f4bdd19be08b84ab:
  Auto merged
BitKeeper/deleted/.del-NdbOut.cpp~8caa99a0d729540c:
  Auto merged
BitKeeper/deleted/.del-NdbSleep.c~b643ea3e7103eb62:
  Auto merged
BitKeeper/deleted/.del-NdbSleep.c~b88fbc5b140de10d:
  Auto merged
BitKeeper/deleted/.del-NdbTCP.c~1e9f416992352f6d:
  Auto merged
BitKeeper/deleted/.del-NdbTCP.c~b09cdcbef3ea2c57:
  Auto merged
BitKeeper/deleted/.del-NdbThread.c~2fe1fa5f47801772:
  Auto merged
BitKeeper/deleted/.del-NdbThread.c~fe71a67b5c3a4724:
  Auto merged
BitKeeper/deleted/.del-NdbTick.c~aa6385567216509d:
  Auto merged
BitKeeper/deleted/.del-NdbTick.c~b76feba2cf1493d1:
  Auto merged
BitKeeper/deleted/.del-OSE_Receiver.cpp:
  Auto merged
BitKeeper/deleted/.del-OSE_Receiver.hpp:
  Auto merged
BitKeeper/deleted/.del-OSE_Signals.hpp:
  Auto merged
BitKeeper/deleted/.del-OSE_Transporter.cpp:
  Auto merged
BitKeeper/deleted/.del-OSE_Transporter.hpp:
  Auto merged
BitKeeper/deleted/.del-TraceNdbApi.hpp~7a7f0ae5b70358bc:
  Auto merged
BitKeeper/deleted/.del-VerifyNdbApi.hpp~f417f78f7cd05935:
  Auto merged
BitKeeper/deleted/.del-bcd.h~81fbfcc1530534da:
  Auto merged
BitKeeper/deleted/.del-config-os2.h~a16b51851ddd317b:
  Auto merged
BitKeeper/deleted/.del-dbGenerator.c~7509c19f70cad0bf:
  Auto merged
BitKeeper/deleted/.del-dbGenerator.h~63f1aeb98260bcb7:
  Auto merged
BitKeeper/deleted/.del-dbGenerator.h~e1aaa6725999d458:
  Auto merged
BitKeeper/deleted/.del-dbPopulate.c~5dcff1c99783d83b:
  Auto merged
BitKeeper/deleted/.del-dbPopulate.h~229a894b59d4da73:
  Auto merged
BitKeeper/deleted/.del-ha_berkeley.cc:
  Auto merged
BitKeeper/deleted/.del-ha_berkeley.h:
  Auto merged
BitKeeper/deleted/.del-localDbPrepare.c~33a2c46afc8fac9a:
  Auto merged
BitKeeper/deleted/.del-macros.h~58097d584e29b5df:
  Auto merged
BitKeeper/deleted/.del-macros.h~742871fab0681964:
  Auto merged
BitKeeper/deleted/.del-mainGenerator.c~2d1c8016f72b2517:
  Auto merged
BitKeeper/deleted/.del-mainPopulate.c~37def9a44980b8ec:
  Auto merged
BitKeeper/deleted/.del-mgmapi_logevent.cpp~f1e7cf3e70edc4:
  Auto merged
BitKeeper/deleted/.del-mmslist.cpp:
  Auto merged
BitKeeper/deleted/.del-my_lread.c:
  Auto merged
BitKeeper/deleted/.del-my_lwrite.c:
  Auto merged
BitKeeper/deleted/.del-my_os2cond.c~e3b520af1c371bb5:
  Auto merged
BitKeeper/deleted/.del-my_os2dirsrch.c~4e2479b2abb2eb5a:
  Auto merged
BitKeeper/deleted/.del-my_os2dirsrch.h~5011cbc657537d0:
  Auto merged
BitKeeper/deleted/.del-my_os2dlfcn.c~6d94b488717683dd:
  Auto merged
BitKeeper/deleted/.del-my_os2dlfcn.h0~eae8edb8555eff87:
  Auto merged
BitKeeper/deleted/.del-my_os2file64.c~251fb8a1e950c31b:
  Auto merged
BitKeeper/deleted/.del-my_os2thread.c~65dca991548cec2a:
  Auto merged
BitKeeper/deleted/.del-my_os2tls.c~58ade7a0f70ad5ea:
  Auto merged
BitKeeper/deleted/.del-mysqlmanager-pwgen.c~d8f5f91ec54432b9:
  Auto merged
BitKeeper/deleted/.del-mysqlmanager.c~e97636d71145a0b:
  Auto merged
BitKeeper/deleted/.del-mysqlmanagerc.c~4f6e3499e68508f6:
  Auto merged
BitKeeper/deleted/.del-ndb_error.hpp~24468bb7f20a0b41:
  Auto merged
BitKeeper/deleted/.del-ndb_error.hpp~45a2fef922beae3:
  Auto merged
BitKeeper/deleted/.del-ndb_schema.hpp~de9c21185d6bfe4e:
  Auto merged
BitKeeper/deleted/.del-ndbapi_async.cpp~319189569fb659ec:
  Auto merged
BitKeeper/deleted/.del-ndbapi_async1.cpp~2995dac9b963a0d:
  Auto merged
BitKeeper/deleted/.del-ndbapi_event.cpp~c5d949802966180:
  Auto merged
BitKeeper/deleted/.del-ndbapi_retries.cpp~7301496d8c1c310a:
  Auto merged
BitKeeper/deleted/.del-ndbapi_scan.cpp~14ed2aa9a5d9e597:
  Auto merged
BitKeeper/deleted/.del-ndbapi_simple.cpp~80962179f3c2f5b8:
  Auto merged
BitKeeper/deleted/.del-ndbapi_simple_index.cpp~4b95a4d71808b5b6:
  Auto merged
BitKeeper/deleted/.del-print-limit-table~b8e808031daa3758:
  Auto merged
BitKeeper/deleted/.del-raid.cc~488f5fa6538394e1:
  Auto merged
BitKeeper/deleted/.del-raid.h~2d2503a66b128ac6:
  Auto merged
BitKeeper/deleted/.del-raid2.c~fe7aea5fb4b9748c:
  Auto merged
BitKeeper/deleted/.del-sql_manager.h:
  Auto merged
BitKeeper/deleted/.del-testData.h~696038ea2623a90b:
  Auto merged
BitKeeper/deleted/.del-testData.h~898b71d7c639319e:
  Auto merged
BitKeeper/deleted/.del-testDefinitions.h~f18a4553579a3725:
  Auto merged
BitKeeper/deleted/.del-userHandle.h~3275bb415e1ca2c2:
  Auto merged
BitKeeper/deleted/.del-userHandle.h~ec22dc7a7ed2f81b:
  Auto merged
BitKeeper/deleted/.del-userInterface.cpp~82ee612ab14b3d48:
  Auto merged
BitKeeper/deleted/.del-userInterface.c~92a20032f7d1e91:
  Auto merged
BitKeeper/deleted/.del-userInterface.h~1f76ad2f28b283fd:
  Auto merged
BitKeeper/deleted/.del-userInterface.h~49139f029bbdaabc:
  Auto merged
BitKeeper/deleted/.del-userTransaction.c~438012ecc761b776:
  Auto merged
BitKeeper/deleted/.del-userTransaction.c~f50661b4f54b0bdd:
  Auto merged
BitKeeper/deleted/.del-utv.h~f64af026b9705ebb:
  Auto merged
BitKeeper/deleted/.del-vcdrfunc.h~85803875180684cd:
  Auto merged
BitKeeper/deleted/.del-waiter.cpp~b188e4bfddf2cf98:
  Auto merged
Docs/Makefile.am:
  Auto merged
client/Makefile.am:
  Auto merged
client/client_priv.h:
  Auto merged
client/get_password.c:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysql_upgrade.c:
  Auto merged
client/mysqladmin.cc:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
client/mysqlcheck.c:
  Auto merged
client/mysqldump.c:
  Auto merged
client/mysqlimport.c:
  Auto merged
client/mysqlshow.c:
  Auto merged
client/mysqltest.c:
  Auto merged
dbug/Makefile.am:
  Auto merged
extra/Makefile.am:
  Auto merged
extra/comp_err.c:
  Auto merged
extra/perror.c:
  Auto merged
extra/replace.c:
  Auto merged
extra/resolveip.c:
  Auto merged
include/Makefile.am:
  Auto merged
include/base64.h:
  Auto merged
include/config-netware.h:
  Auto merged
include/config-win.h:
  Auto merged
include/decimal.h:
  Auto merged
include/errmsg.h:
  Auto merged
include/ft_global.h:
  Auto merged
include/heap.h:
  Auto merged
include/m_ctype.h:
  Auto merged
include/m_string.h:
  Auto merged
include/my_base.h:
  Auto merged
include/my_bitmap.h:
  Auto merged
include/my_dbug.h:
  Auto merged
include/my_global.h:
  Auto merged
include/my_net.h:
  Auto merged
include/my_no_pthread.h:
  Auto merged
include/my_nosys.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/my_time.h:
  Auto merged
include/my_tree.h:
  Auto merged
include/my_xml.h:
  Auto merged
include/myisam.h:
  Auto merged
include/myisammrg.h:
  Auto merged
include/mysql.h:
  Auto merged
include/mysql_com.h:
  Auto merged
include/mysys_err.h:
  Auto merged
include/queues.h:
  Auto merged
include/thr_alarm.h:
  Auto merged
include/thr_lock.h:
  Auto merged
include/violite.h:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
libmysqld/emb_qcache.cc:
  Auto merged
libmysqld/embedded_priv.h:
  Auto merged
libmysqld/examples/Makefile.am:
  Auto merged
libmysqld/libmysqld.c:
  Auto merged
mysql-test/Makefile.am:
  Auto merged
mysys/Makefile.am:
  Auto merged
mysys/array.c:
  Auto merged
mysys/base64.c:
  Auto merged
mysys/charset-def.c:
  Auto merged
mysys/default.c:
  Auto merged
mysys/default_modify.c:
  Auto merged
mysys/errors.c:
  Auto merged
mysys/hash.c:
  Auto merged
mysys/mf_dirname.c:
  Auto merged
mysys/mf_format.c:
  Auto merged
mysys/mf_iocache.c:
  Auto merged
mysys/mf_iocache2.c:
  Auto merged
mysys/mf_keycache.c:
  Auto merged
mysys/mf_pack.c:
  Auto merged
mysys/mf_path.c:
  Auto merged
mysys/mf_tempdir.c:
  Auto merged
mysys/mf_tempfile.c:
  Auto merged
mysys/my_access.c:
  Auto merged
mysys/my_alloc.c:
  Auto merged
mysys/my_append.c:
  Auto merged
mysys/my_bit.c:
  Auto merged
mysys/my_bitmap.c:
  Auto merged
mysys/my_clock.c:
  Auto merged
mysys/my_compress.c:
  Auto merged
mysys/my_copy.c:
  Auto merged
mysys/my_create.c:
  Auto merged
mysys/my_dup.c:
  Auto merged
mysys/my_error.c:
  Auto merged
mysys/my_file.c:
  Auto merged
mysys/my_gethostbyname.c:
  Auto merged
mysys/my_getopt.c:
  Auto merged
mysys/my_getwd.c:
  Auto merged
mysys/my_handler.c:
  Auto merged
mysys/my_init.c:
  Auto merged
mysys/my_lib.c:
  Auto merged
mysys/my_lock.c:
  Auto merged
mysys/my_malloc.c:
  Auto merged
mysys/my_mkdir.c:
  Auto merged
mysys/my_mmap.c:
  Auto merged
mysys/my_net.c:
  Auto merged
mysys/my_once.c:
  Auto merged
mysys/my_open.c:
  Auto merged
mysys/my_pread.c:
  Auto merged
mysys/my_pthread.c:
  Auto merged
mysys/my_redel.c:
  Auto merged
mysys/my_rename.c:
  Auto merged
mysys/my_seek.c:
  Auto merged
mysys/my_sleep.c:
  Auto merged
mysys/my_static.c:
  Auto merged
mysys/my_symlink2.c:
  Auto merged
mysys/my_thr_init.c:
  Auto merged
mysys/mysys_priv.h:
  Auto merged
mysys/ptr_cmp.c:
  Auto merged
mysys/queues.c:
  Auto merged
mysys/safemalloc.c:
  Auto merged
mysys/string.c:
  Auto merged
mysys/test_dir.c:
  Auto merged
mysys/testhash.c:
  Auto merged
mysys/thr_alarm.c:
  Auto merged
mysys/thr_lock.c:
  Auto merged
mysys/thr_mutex.c:
  Auto merged
regex/Makefile.am:
  Auto merged
scripts/Makefile.am:
  Auto merged
server-tools/instance-manager/Makefile.am:
  Auto merged
server-tools/instance-manager/buffer.cc:
  Auto merged
server-tools/instance-manager/command.cc:
  Auto merged
server-tools/instance-manager/command.h:
  Auto merged
server-tools/instance-manager/commands.cc:
  Auto merged
server-tools/instance-manager/commands.h:
  Auto merged
server-tools/instance-manager/guardian.cc:
  Auto merged
server-tools/instance-manager/guardian.h:
  Auto merged
server-tools/instance-manager/instance.cc:
  Auto merged
server-tools/instance-manager/instance.h:
  Auto merged
server-tools/instance-manager/instance_map.cc:
  Auto merged
server-tools/instance-manager/instance_map.h:
  Auto merged
server-tools/instance-manager/instance_options.cc:
  Auto merged
server-tools/instance-manager/instance_options.h:
  Auto merged
server-tools/instance-manager/listener.cc:
  Auto merged
server-tools/instance-manager/listener.h:
  Auto merged
server-tools/instance-manager/log.cc:
  Auto merged
server-tools/instance-manager/log.h:
  Auto merged
server-tools/instance-manager/manager.cc:
  Auto merged
server-tools/instance-manager/manager.h:
  Auto merged
server-tools/instance-manager/messages.cc:
  Auto merged
server-tools/instance-manager/mysql_connection.cc:
  Auto merged
server-tools/instance-manager/mysql_connection.h:
  Auto merged
server-tools/instance-manager/mysql_manager_error.h:
  Auto merged
server-tools/instance-manager/mysqlmanager.cc:
  Auto merged
server-tools/instance-manager/options.cc:
  Auto merged
server-tools/instance-manager/options.h:
  Auto merged
server-tools/instance-manager/parse.cc:
  Auto merged
server-tools/instance-manager/parse.h:
  Auto merged
server-tools/instance-manager/parse_output.cc:
  Auto merged
server-tools/instance-manager/parse_output.h:
  Auto merged
server-tools/instance-manager/priv.cc:
  Auto merged
server-tools/instance-manager/priv.h:
  Auto merged
server-tools/instance-manager/protocol.cc:
  Auto merged
server-tools/instance-manager/protocol.h:
  Auto merged
server-tools/instance-manager/thread_registry.cc:
  Auto merged
server-tools/instance-manager/thread_registry.h:
  Auto merged
server-tools/instance-manager/user_map.cc:
  Auto merged
server-tools/instance-manager/user_map.h:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/discover.cc:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/field_conv.cc:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/gen_lex_hash.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/hostname.cc:
  Auto merged
sql/init.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_create.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_geofunc.cc:
  Auto merged
sql/item_geofunc.h:
  Auto merged
sql/item_row.cc:
  Auto merged
sql/item_row.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
sql/item_uniq.cc:
  Auto merged
sql/key.cc:
  Auto merged
sql/lex.h:
  Auto merged
sql/lex_symbol.h:
  Auto merged
sql/lock.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/my_decimal.cc:
  Auto merged
sql/my_decimal.h:
  Auto merged
sql/my_lock.c:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/opt_sum.cc:
  Auto merged
sql/parse_file.cc:
  Auto merged
sql/parse_file.h:
  Auto merged
sql/password.c:
  Auto merged
sql/procedure.h:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/protocol.h:
  Auto merged
sql/records.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/slave.h:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp.h:
  Auto merged
sql/sp_cache.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/spatial.cc:
  Auto merged
sql/spatial.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_acl.h:
  Auto merged
sql/sql_analyse.cc:
  Auto merged
sql/sql_analyse.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_bitmap.h:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_cache.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_crypt.cc:
  Auto merged
sql/sql_cursor.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_do.cc:
  Auto merged
sql/sql_error.cc:
  Auto merged
sql/sql_error.h:
  Auto merged
sql/sql_handler.cc:
  Auto merged
sql/sql_help.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_list.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_manager.cc:
  Auto merged
sql/sql_map.cc:
  Auto merged
sql/sql_olap.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_rename.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_repl.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_string.cc:
  Auto merged
sql/sql_string.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_test.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_trigger.h:
  Auto merged
sql/sql_udf.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql-bench/Makefile.am:
  Auto merged
sql-bench/as3ap.sh:
  Auto merged
sql-bench/bench-count-distinct.sh:
  Auto merged
sql-bench/bench-init.pl.sh:
  Auto merged
sql-bench/compare-results.sh:
  Auto merged
sql-bench/copy-db.sh:
  Auto merged
sql/share/charsets/Index.xml:
  Auto merged
sql/share/charsets/cp1250.xml:
  Auto merged
sql/sql_view.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/stacktrace.c:
  Auto merged
sql/stacktrace.h:
  Auto merged
sql/strfunc.cc:
  Auto merged
sql/structs.h:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
sql/time.cc:
  Auto merged
sql/tztime.cc:
  Auto merged
sql/tztime.h:
  Auto merged
sql/udf_example.c:
  Auto merged
sql/unireg.cc:
  Auto merged
sql/unireg.h:
  Auto merged
sql-bench/crash-me.sh:
  Auto merged
sql-bench/run-all-tests.sh:
  Auto merged
sql-bench/server-cfg.sh:
  Auto merged
sql-bench/test-ATIS.sh:
  Auto merged
sql-bench/test-alter-table.sh:
  Auto merged
sql-bench/test-big-tables.sh:
  Auto merged
sql-bench/test-connect.sh:
  Auto merged
sql-bench/test-create.sh:
  Auto merged
sql-bench/test-insert.sh:
  Auto merged
sql-bench/test-select.sh:
  Auto merged
sql-bench/test-transactions.sh:
  Auto merged
sql-bench/test-wisconsin.sh:
  Auto merged
sql-common/client.c:
  Auto merged
sql-common/my_time.c:
  Auto merged
storage/archive/ha_archive.cc:
  Auto merged
storage/archive/ha_archive.h:
  Auto merged
storage/blackhole/ha_blackhole.cc:
  Auto merged
storage/blackhole/ha_blackhole.h:
  Auto merged
storage/csv/ha_tina.cc:
  Auto merged
storage/csv/ha_tina.h:
  Auto merged
storage/example/ha_example.cc:
  Auto merged
storage/example/ha_example.h:
  Auto merged
storage/federated/ha_federated.cc:
  Auto merged
storage/federated/ha_federated.h:
  Auto merged
storage/heap/Makefile.am:
  Auto merged
storage/heap/_check.c:
  Auto merged
storage/heap/_rectest.c:
  Auto merged
storage/heap/ha_heap.cc:
  Auto merged
storage/heap/ha_heap.h:
  Auto merged
storage/heap/heapdef.h:
  Auto merged
storage/heap/hp_block.c:
  Auto merged
storage/heap/hp_clear.c:
  Auto merged
storage/heap/hp_close.c:
  Auto merged
storage/heap/hp_create.c:
  Auto merged
storage/heap/hp_delete.c:
  Auto merged
storage/heap/hp_extra.c:
  Auto merged
storage/heap/hp_hash.c:
  Auto merged
storage/heap/hp_info.c:
  Auto merged
storage/heap/hp_open.c:
  Auto merged
storage/heap/hp_panic.c:
  Auto merged
storage/heap/hp_rename.c:
  Auto merged
storage/heap/hp_rfirst.c:
  Auto merged
storage/heap/hp_rkey.c:
  Auto merged
storage/heap/hp_rlast.c:
  Auto merged
storage/heap/hp_rnext.c:
  Auto merged
storage/heap/hp_rprev.c:
  Auto merged
storage/heap/hp_rrnd.c:
  Auto merged
storage/heap/hp_rsame.c:
  Auto merged
storage/heap/hp_scan.c:
  Auto merged
storage/heap/hp_static.c:
  Auto merged
storage/heap/hp_test1.c:
  Auto merged
storage/heap/hp_test2.c:
  Auto merged
storage/heap/hp_update.c:
  Auto merged
storage/heap/hp_write.c:
  Auto merged
storage/innobase/Makefile.am:
  Auto merged
storage/innobase/btr/Makefile.am:
  Auto merged
storage/innobase/buf/Makefile.am:
  Auto merged
storage/innobase/data/Makefile.am:
  Auto merged
storage/innobase/dict/Makefile.am:
  Auto merged
storage/innobase/dyn/Makefile.am:
  Auto merged
storage/innobase/eval/Makefile.am:
  Auto merged
storage/innobase/fil/Makefile.am:
  Auto merged
storage/innobase/fsp/Makefile.am:
  Auto merged
storage/innobase/fut/Makefile.am:
  Auto merged
storage/innobase/ha/Makefile.am:
  Auto merged
storage/innobase/handler/ha_innodb.cc:
  Auto merged
storage/innobase/handler/ha_innodb.h:
  Auto merged
storage/innobase/ibuf/Makefile.am:
  Auto merged
storage/innobase/lock/Makefile.am:
  Auto merged
storage/innobase/log/Makefile.am:
  Auto merged
storage/innobase/mach/Makefile.am:
  Auto merged
storage/innobase/mem/Makefile.am:
  Auto merged
storage/innobase/mtr/Makefile.am:
  Auto merged
storage/innobase/os/Makefile.am:
  Auto merged
storage/innobase/page/Makefile.am:
  Auto merged
storage/innobase/pars/Makefile.am:
  Auto merged
storage/innobase/que/Makefile.am:
  Auto merged
storage/innobase/read/Makefile.am:
  Auto merged
storage/innobase/rem/Makefile.am:
  Auto merged
storage/innobase/row/Makefile.am:
  Auto merged
storage/innobase/srv/Makefile.am:
  Auto merged
storage/innobase/sync/Makefile.am:
  Auto merged
storage/innobase/thr/Makefile.am:
  Auto merged
storage/innobase/trx/Makefile.am:
  Auto merged
storage/innobase/usr/Makefile.am:
  Auto merged
storage/innobase/ut/Makefile.am:
  Auto merged
storage/myisam/Makefile.am:
  Auto merged
storage/myisam/ft_boolean_search.c:
  Auto merged
storage/myisam/ft_eval.c:
  Auto merged
storage/myisam/ft_eval.h:
  Auto merged
storage/myisam/ft_nlq_search.c:
  Auto merged
storage/myisam/ft_parser.c:
  Auto merged
storage/myisam/ft_static.c:
  Auto merged
storage/myisam/ft_stem.c:
  Auto merged
storage/myisam/ft_stopwords.c:
  Auto merged
storage/myisam/ft_test1.c:
  Auto merged
storage/myisam/ft_test1.h:
  Auto merged
storage/myisam/ft_update.c:
  Auto merged
storage/myisam/ftdefs.h:
  Auto merged
storage/myisam/fulltext.h:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
storage/myisam/ha_myisam.h:
  Auto merged
storage/myisam/mi_cache.c:
  Auto merged
storage/myisam/mi_changed.c:
  Auto merged
storage/myisam/mi_check.c:
  Auto merged
storage/myisam/mi_checksum.c:
  Auto merged
storage/myisam/mi_close.c:
  Auto merged
storage/myisam/mi_create.c:
  Auto merged
storage/myisam/mi_dbug.c:
  Auto merged
storage/myisam/mi_delete.c:
  Auto merged
storage/myisam/mi_delete_all.c:
  Auto merged
storage/myisam/mi_delete_table.c:
  Auto merged
storage/myisam/mi_dynrec.c:
  Auto merged
storage/myisam/mi_extra.c:
  Auto merged
storage/myisam/mi_info.c:
  Auto merged
storage/myisam/mi_key.c:
  Auto merged
storage/myisam/mi_keycache.c:
  Auto merged
storage/myisam/mi_locking.c:
  Auto merged
storage/myisam/mi_log.c:
  Auto merged
storage/myisam/mi_open.c:
  Auto merged
storage/myisam/mi_packrec.c:
  Auto merged
storage/myisam/mi_page.c:
  Auto merged
storage/myisam/mi_panic.c:
  Auto merged
storage/myisam/mi_preload.c:
  Auto merged
storage/myisam/mi_range.c:
  Auto merged
storage/myisam/mi_rename.c:
  Auto merged
storage/myisam/mi_rfirst.c:
  Auto merged
storage/myisam/mi_rkey.c:
  Auto merged
storage/myisam/mi_rlast.c:
  Auto merged
storage/myisam/mi_rnext.c:
  Auto merged
storage/myisam/mi_rnext_same.c:
  Auto merged
storage/myisam/mi_rprev.c:
  Auto merged
storage/myisam/mi_rrnd.c:
  Auto merged
storage/myisam/mi_rsame.c:
  Auto merged
storage/myisam/mi_rsamepos.c:
  Auto merged
storage/myisam/mi_scan.c:
  Auto merged
storage/myisam/mi_search.c:
  Auto merged
storage/myisam/mi_static.c:
  Auto merged
storage/myisam/mi_statrec.c:
  Auto merged
storage/myisam/mi_test1.c:
  Auto merged
storage/myisam/mi_test2.c:
  Auto merged
storage/myisam/mi_test3.c:
  Auto merged
storage/myisam/mi_unique.c:
  Auto merged
storage/myisam/mi_update.c:
  Auto merged
storage/myisam/mi_write.c:
  Auto merged
storage/myisam/myisam_ftdump.c:
  Auto merged
storage/myisam/myisamchk.c:
  Auto merged
storage/myisam/myisamdef.h:
  Auto merged
storage/myisam/myisamlog.c:
  Auto merged
storage/myisam/myisampack.c:
  Auto merged
storage/myisam/rt_index.c:
  Auto merged
storage/myisam/rt_index.h:
  Auto merged
storage/myisam/rt_key.c:
  Auto merged
storage/myisam/rt_key.h:
  Auto merged
storage/myisam/rt_mbr.c:
  Auto merged
storage/myisam/rt_mbr.h:
  Auto merged
storage/myisam/rt_split.c:
  Auto merged
storage/myisam/rt_test.c:
  Auto merged
storage/myisam/sort.c:
  Auto merged
storage/myisam/sp_defs.h:
  Auto merged
storage/myisam/sp_key.c:
  Auto merged
storage/myisam/sp_test.c:
  Auto merged
storage/myisammrg/Makefile.am:
  Auto merged
storage/myisammrg/ha_myisammrg.cc:
  Auto merged
storage/myisammrg/ha_myisammrg.h:
  Auto merged
storage/myisammrg/myrg_close.c:
  Auto merged
storage/myisammrg/myrg_create.c:
  Auto merged
storage/myisammrg/myrg_def.h:
  Auto merged
storage/myisammrg/myrg_delete.c:
  Auto merged
storage/myisammrg/myrg_extra.c:
  Auto merged
storage/myisammrg/myrg_info.c:
  Auto merged
storage/myisammrg/myrg_locking.c:
  Auto merged
storage/myisammrg/myrg_open.c:
  Auto merged
storage/myisammrg/myrg_panic.c:
  Auto merged
storage/myisammrg/myrg_queue.c:
  Auto merged
storage/myisammrg/myrg_range.c:
  Auto merged
storage/myisammrg/myrg_rfirst.c:
  Auto merged
storage/myisammrg/myrg_rkey.c:
  Auto merged
storage/myisammrg/myrg_rlast.c:
  Auto merged
storage/myisammrg/myrg_rnext.c:
  Auto merged
storage/myisammrg/myrg_rnext_same.c:
  Auto merged
storage/myisammrg/myrg_rprev.c:
  Auto merged
storage/myisammrg/myrg_rrnd.c:
  Auto merged
storage/myisammrg/myrg_rsame.c:
  Auto merged
storage/myisammrg/myrg_static.c:
  Auto merged
storage/myisammrg/myrg_update.c:
  Auto merged
storage/myisammrg/myrg_write.c:
  Auto merged
storage/ndb/include/debugger/DebuggerNames.hpp:
  Auto merged
storage/ndb/include/debugger/EventLogger.hpp:
  Auto merged
storage/ndb/include/debugger/GrepError.hpp:
  Auto merged
storage/ndb/include/debugger/SignalLoggerManager.hpp:
  Auto merged
storage/ndb/include/ndb_constants.h:
  Auto merged
storage/ndb/include/ndb_global.h.in:
  Auto merged
storage/ndb/include/ndb_init.h:
  Auto merged
storage/ndb/include/ndb_types.h.in:
  Auto merged
storage/ndb/include/ndb_version.h.in:
  Auto merged
storage/ndb/include/editline/editline.h:
  Auto merged
storage/ndb/include/kernel/AttributeDescriptor.hpp:
  Auto merged
storage/ndb/include/kernel/AttributeHeader.hpp:
  Auto merged
storage/ndb/include/kernel/AttributeList.hpp:
  Auto merged
storage/ndb/include/kernel/BlockNumbers.h:
  Auto merged
storage/ndb/include/kernel/GlobalSignalNumbers.h:
  Auto merged
storage/ndb/include/kernel/GrepEvent.hpp:
  Auto merged
storage/ndb/include/kernel/Interpreter.hpp:
  Auto merged
storage/ndb/include/kernel/LogLevel.hpp:
  Auto merged
storage/ndb/include/kernel/NodeBitmask.hpp:
  Auto merged
storage/ndb/include/kernel/NodeInfo.hpp:
  Auto merged
storage/ndb/include/kernel/NodeState.hpp:
  Auto merged
storage/ndb/include/kernel/RefConvert.hpp:
  Auto merged
storage/ndb/include/kernel/kernel_types.h:
  Auto merged
storage/ndb/include/kernel/ndb_limits.h:
  Auto merged
storage/ndb/include/kernel/signaldata/AbortAll.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AccFrag.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AccLock.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AccScan.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AccSizeAltReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AlterIndx.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AlterTab.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AlterTable.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AlterTrig.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ApiBroadcast.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ApiRegSignalData.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ApiVersion.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ArbitSignalData.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/AttrInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/BackupContinueB.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/BackupImpl.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/BackupSignalData.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/BlockCommitOrd.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/BuildIndx.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CheckNodeGroups.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CloseComReqConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CmInit.hpp:
  Auto merged
storage/ndb/include/kernel/trigger_definitions.h:
  Auto merged
storage/ndb/include/kernel/signaldata/CmRegSignalData.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CmvmiCfgConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CntrMasterConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CntrMasterReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ConfigParamId.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ContinueFragmented.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CopyActive.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CopyFrag.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CopyGCIReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CreateEvnt.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CreateFrag.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CreateFragmentation.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CreateIndx.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CreateTab.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CreateTable.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/CreateTrig.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DiAddTab.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DiGetNodes.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DictLock.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DictSchemaInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DictSizeAltReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DictStart.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DictTabInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DihAddFrag.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DihContinueB.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DihSizeAltReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DihStartTab.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DihSwitchReplica.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DisconnectRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DropIndx.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DropTab.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DropTabFile.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DropTable.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DropTrig.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DumpStateOrd.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/EmptyLcp.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/EndTo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/EventReport.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/EventSubscribeReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ExecFragReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FailRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FireTrigOrd.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FsAppendReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FsCloseReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FsConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FsOpenReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FsReadWriteReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FsRef.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/FsRemoveReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/GCPSave.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/GetTabInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/GetTableId.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/GrepImpl.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/HotSpareRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/IndxAttrInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/IndxKeyInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/InvalidateNodeLCPConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/InvalidateNodeLCPReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/KeyInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/LCP.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ListTables.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/LqhFrag.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/LqhKey.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/LqhSizeAltReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/LqhTransConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ManagementServer.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/MasterGCP.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/MasterLCP.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/NFCompleteRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/NdbSttor.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/NdbfsContinueB.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/NextScan.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/NodeFailRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/NodeStateSignalData.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/PackedSignal.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/PrepDropTab.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/PrepFailReqRef.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ReadNodesConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/RelTabMem.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/RepImpl.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ResumeReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ScanFrag.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/ScanTab.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SetLogLevelOrd.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SetVarReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SignalData.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SignalDataPrint.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SignalDroppedRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SrFragidConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StartFragReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StartInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StartMe.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StartOrd.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StartPerm.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StartRec.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StartTo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StopMe.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StopPerm.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/StopReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SumaImpl.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/SystemError.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TamperOrd.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcCommit.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcContinueB.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcHbRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcIndx.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcKeyConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcKeyFailConf.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcKeyRef.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcKeyReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcRollbackRep.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TcSizeAltReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TestOrd.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TransIdAI.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TrigAttrInfo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TupCommit.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TupFrag.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TupKey.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TupSizeAltReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TuxBound.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TuxContinueB.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TuxMaint.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/TuxSizeAltReq.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/UpdateTo.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/UtilDelete.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/UtilExecute.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/UtilLock.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/UtilPrepare.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/UtilRelease.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/UtilSequence.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/WaitGCP.hpp:
  Auto merged
storage/ndb/include/logger/ConsoleLogHandler.hpp:
  Auto merged
storage/ndb/include/logger/FileLogHandler.hpp:
  Auto merged
storage/ndb/include/logger/LogHandler.hpp:
  Auto merged
storage/ndb/include/logger/Logger.hpp:
  Auto merged
storage/ndb/include/logger/SysLogHandler.hpp:
  Auto merged
storage/ndb/include/mgmapi/mgmapi.h:
  Auto merged
storage/ndb/include/mgmapi/mgmapi_debug.h:
  Auto merged
storage/ndb/include/mgmapi/ndb_logevent.h:
  Auto merged
storage/ndb/include/mgmapi/ndbd_exit_codes.h:
  Auto merged
storage/ndb/include/mgmcommon/ConfigRetriever.hpp:
  Auto merged
storage/ndb/include/mgmcommon/IPCConfig.hpp:
  Auto merged
storage/ndb/include/mgmcommon/MgmtErrorReporter.hpp:
  Auto merged
storage/ndb/include/ndbapi/Ndb.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbApi.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbBlob.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbDictionary.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbError.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbEventOperation.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbIndexOperation.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbIndexScanOperation.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbOperation.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbPool.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbRecAttr.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbReceiver.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbScanFilter.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbScanOperation.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbTransaction.hpp:
  Auto merged
storage/ndb/include/ndbapi/ndb_cluster_connection.hpp:
  Auto merged
storage/ndb/include/ndbapi/ndb_opt_defaults.h:
  Auto merged
storage/ndb/include/ndbapi/ndbapi_limits.h:
  Auto merged
storage/ndb/include/ndbapi/ndberror.h:
  Auto merged
storage/ndb/include/newtonapi/dba.h:
  Auto merged
storage/ndb/include/newtonapi/defs/pcn_types.h:
  Auto merged
storage/ndb/include/portlib/NdbCondition.h:
  Auto merged
storage/ndb/include/portlib/NdbConfig.h:
  Auto merged
storage/ndb/include/portlib/NdbDaemon.h:
  Auto merged
storage/ndb/include/portlib/NdbEnv.h:
  Auto merged
storage/ndb/include/portlib/NdbHost.h:
  Auto merged
storage/ndb/include/portlib/NdbMain.h:
  Auto merged
storage/ndb/include/portlib/NdbMem.h:
  Auto merged
storage/ndb/include/portlib/NdbMutex.h:
  Auto merged
storage/ndb/include/portlib/NdbSleep.h:
  Auto merged
storage/ndb/include/portlib/NdbTCP.h:
  Auto merged
storage/ndb/include/portlib/NdbThread.h:
  Auto merged
storage/ndb/include/portlib/NdbTick.h:
  Auto merged
storage/ndb/include/portlib/PortDefs.h:
  Auto merged
storage/ndb/include/portlib/prefetch.h:
  Auto merged
storage/ndb/include/transporter/TransporterCallback.hpp:
  Auto merged
storage/ndb/include/transporter/TransporterDefinitions.hpp:
  Auto merged
storage/ndb/include/transporter/TransporterRegistry.hpp:
  Auto merged
storage/ndb/include/util/BaseString.hpp:
  Auto merged
storage/ndb/include/util/Bitmask.hpp:
  Auto merged
storage/ndb/include/util/File.hpp:
  Auto merged
storage/ndb/include/util/InputStream.hpp:
  Auto merged
storage/ndb/include/util/NdbAutoPtr.hpp:
  Auto merged
storage/ndb/include/util/NdbOut.hpp:
  Auto merged
storage/ndb/include/util/NdbSqlUtil.hpp:
  Auto merged
storage/ndb/include/util/OutputStream.hpp:
  Auto merged
storage/ndb/include/util/Parser.hpp:
  Auto merged
storage/ndb/include/util/Properties.hpp:
  Auto merged
storage/ndb/include/util/SimpleProperties.hpp:
  Auto merged
storage/ndb/include/util/SocketAuthenticator.hpp:
  Auto merged
storage/ndb/include/util/SocketClient.hpp:
  Auto merged
storage/ndb/include/util/SocketServer.hpp:
  Auto merged
storage/ndb/include/util/UtilBuffer.hpp:
  Auto merged
storage/ndb/include/util/Vector.hpp:
  Auto merged
storage/ndb/include/util/basestring_vsnprintf.h:
  Auto merged
storage/ndb/include/util/md5_hash.hpp:
  Auto merged
storage/ndb/include/util/ndb_opts.h:
  Auto merged
storage/ndb/include/util/random.h:
  Auto merged
storage/ndb/include/util/socket_io.h:
  Auto merged
storage/ndb/include/util/uucode.h:
  Auto merged
storage/ndb/include/util/version.h:
  Auto merged
storage/ndb/src/common/debugger/BlockNames.cpp:
  Auto merged
storage/ndb/src/common/debugger/DebuggerNames.cpp:
  Auto merged
storage/ndb/src/common/debugger/EventLogger.cpp:
  Auto merged
storage/ndb/src/common/debugger/GrepError.cpp:
  Auto merged
storage/ndb/src/common/debugger/SignalLoggerManager.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/AccLock.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/AlterIndx.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/AlterTab.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/AlterTable.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/AlterTrig.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/BackupImpl.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/BackupSignalData.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/CloseComReqConf.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/ContinueB.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/CopyGCI.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/CreateEvnt.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/CreateFragmentation.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/CreateIndx.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/CreateTrig.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/DihContinueB.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/DihSwitchReplicaReq.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/DisconnectRep.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/DropIndx.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/DropTab.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/DropTrig.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FailRep.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FireTrigOrd.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FsAppendReq.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FsCloseReq.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FsConf.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FsOpenReq.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FsReadWriteReq.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/FsRef.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/GCPSave.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/IndxAttrInfo.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/IndxKeyInfo.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/LCP.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/LqhFrag.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/LqhKey.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/LqhTrans.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/MasterLCP.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/NFCompleteRep.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/NdbSttor.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/NdbfsContinueB.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/PackedSignal.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/PrepDropTab.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/PrepFailReqRef.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/ScanFrag.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/ScanTab.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/SignalDataPrint.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/SignalDroppedRep.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/SignalNames.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/StartRec.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/SumaImpl.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/SystemError.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TcIndx.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TcKeyConf.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TcKeyRef.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TcKeyReq.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TcRollbackRep.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TrigAttrInfo.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TupCommit.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TupKey.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/TuxMaint.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/UtilDelete.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/UtilExecute.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/UtilLock.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/UtilPrepare.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/UtilSequence.cpp:
  Auto merged
storage/ndb/src/common/logger/ConsoleLogHandler.cpp:
  Auto merged
storage/ndb/src/common/logger/FileLogHandler.cpp:
  Auto merged
storage/ndb/src/common/logger/LogHandler.cpp:
  Auto merged
storage/ndb/src/common/logger/LogHandlerList.cpp:
  Auto merged
storage/ndb/src/common/logger/LogHandlerList.hpp:
  Auto merged
storage/ndb/src/common/logger/Logger.cpp:
  Auto merged
storage/ndb/src/common/logger/SysLogHandler.cpp:
  Auto merged
storage/ndb/src/common/logger/listtest/LogHandlerListUnitTest.cpp:
  Auto merged
storage/ndb/src/common/logger/listtest/LogHandlerListUnitTest.hpp:
  Auto merged
storage/ndb/src/common/logger/loggertest/LoggerUnitTest.cpp:
  Auto merged
storage/ndb/src/common/logger/loggertest/LoggerUnitTest.hpp:
  Auto merged
storage/ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  Auto merged
storage/ndb/src/common/mgmcommon/IPCConfig.cpp:
  Auto merged
storage/ndb/src/common/mgmcommon/printConfig/printConfig.cpp:
  Auto merged
storage/ndb/src/common/portlib/NdbCondition.c:
  Auto merged
storage/ndb/src/common/portlib/NdbConfig.c:
  Auto merged
storage/ndb/src/common/portlib/NdbDaemon.c:
  Auto merged
storage/ndb/src/common/portlib/NdbEnv.c:
  Auto merged
storage/ndb/src/common/portlib/NdbHost.c:
  Auto merged
storage/ndb/src/common/portlib/NdbMem.c:
  Auto merged
storage/ndb/src/common/portlib/NdbMutex.c:
  Auto merged
storage/ndb/src/common/portlib/NdbPortLibTest.cpp:
  Auto merged
storage/ndb/src/common/portlib/NdbSleep.c:
  Auto merged
storage/ndb/src/common/portlib/NdbTCP.cpp:
  Auto merged
storage/ndb/src/common/portlib/NdbThread.c:
  Auto merged
storage/ndb/src/common/portlib/NdbTick.c:
  Auto merged
storage/ndb/src/common/portlib/memtest.c:
  Auto merged
storage/ndb/src/common/portlib/mmstest.cpp:
  Auto merged
storage/ndb/src/common/portlib/munmaptest.cpp:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbCondition.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbDaemon.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbEnv.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbHost.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbMem.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbMutex.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbSleep.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbTCP.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbThread.c:
  Auto merged
storage/ndb/src/common/portlib/win32/NdbTick.c:
  Auto merged
storage/ndb/src/common/transporter/Packer.cpp:
  Auto merged
storage/ndb/src/common/transporter/Packer.hpp:
  Auto merged
storage/ndb/src/common/transporter/SCI_Transporter.cpp:
  Auto merged
storage/ndb/src/common/transporter/SCI_Transporter.hpp:
  Auto merged
storage/ndb/src/common/transporter/SHM_Buffer.hpp:
  Auto merged
storage/ndb/src/common/transporter/SHM_Transporter.cpp:
  Auto merged
storage/ndb/src/common/transporter/SHM_Transporter.hpp:
  Auto merged
storage/ndb/src/common/transporter/SHM_Transporter.unix.cpp:
  Auto merged
storage/ndb/src/common/transporter/SHM_Transporter.win32.cpp:
  Auto merged
storage/ndb/src/common/transporter/SendBuffer.cpp:
  Auto merged
storage/ndb/src/common/transporter/SendBuffer.hpp:
  Auto merged
storage/ndb/src/common/transporter/TCP_Transporter.cpp:
  Auto merged
storage/ndb/src/common/transporter/TCP_Transporter.hpp:
  Auto merged
storage/ndb/src/common/transporter/Transporter.cpp:
  Auto merged
storage/ndb/src/common/transporter/Transporter.hpp:
  Auto merged
storage/ndb/src/common/transporter/TransporterInternalDefinitions.hpp:
  Auto merged
storage/ndb/src/common/transporter/TransporterRegistry.cpp:
  Auto merged
storage/ndb/src/common/transporter/basictest/basicTransporterTest.cpp:
  Auto merged
storage/ndb/src/common/transporter/buddy.cpp:
  Auto merged
storage/ndb/src/common/transporter/buddy.hpp:
  Auto merged
storage/ndb/src/common/transporter/failoverSCI/failoverSCI.cpp:
  Auto merged
storage/ndb/src/common/transporter/perftest/perfTransporterTest.cpp:
  Auto merged
storage/ndb/src/common/transporter/priotest/prioSCI/prioSCI.cpp:
  Auto merged
storage/ndb/src/common/transporter/priotest/prioSHM/prioSHM.cpp:
  Auto merged
storage/ndb/src/common/transporter/priotest/prioTCP/prioTCP.cpp:
  Auto merged
storage/ndb/src/common/transporter/priotest/prioTransporterTest.cpp:
  Auto merged
storage/ndb/src/common/transporter/priotest/prioTransporterTest.hpp:
  Auto merged
storage/ndb/src/common/util/BaseString.cpp:
  Auto merged
storage/ndb/src/common/util/File.cpp:
  Auto merged
storage/ndb/src/common/util/InputStream.cpp:
  Auto merged
storage/ndb/src/common/util/NdbOut.cpp:
  Auto merged
storage/ndb/src/common/util/NdbSqlUtil.cpp:
  Auto merged
storage/ndb/src/common/util/OutputStream.cpp:
  Auto merged
storage/ndb/src/common/util/Parser.cpp:
  Auto merged
storage/ndb/src/common/util/Properties.cpp:
  Auto merged
storage/ndb/src/common/util/SimpleProperties.cpp:
  Auto merged
storage/ndb/src/common/util/SocketAuthenticator.cpp:
  Auto merged
storage/ndb/src/common/util/SocketClient.cpp:
  Auto merged
storage/ndb/src/common/util/SocketServer.cpp:
  Auto merged
storage/ndb/src/common/util/basestring_vsnprintf.c:
  Auto merged
storage/ndb/src/common/util/md5_hash.cpp:
  Auto merged
storage/ndb/src/common/util/ndb_init.c:
  Auto merged
storage/ndb/src/common/util/random.c:
  Auto merged
storage/ndb/src/common/util/socket_io.cpp:
  Auto merged
storage/ndb/src/common/util/strdup.c:
  Auto merged
storage/ndb/src/common/util/filetest/FileUnitTest.cpp:
  Auto merged
storage/ndb/src/common/util/filetest/FileUnitTest.hpp:
  Auto merged
storage/ndb/src/common/util/testProperties/testProperties.cpp:
  Auto merged
storage/ndb/src/common/util/testSimpleProperties/sp_test.cpp:
  Auto merged
storage/ndb/src/common/util/uucode.c:
  Auto merged
storage/ndb/src/common/util/version.c:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/CPC_GUI.cpp:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/CPC_GUI.h:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/NdbControls.cpp:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/StdAfx.cpp:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/StdAfx.h:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/TreeView.cpp:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/TreeView.h:
  Auto merged
storage/ndb/src/cw/cpcc-win32/C++/resource.h:
  Auto merged
storage/ndb/src/cw/cpcd/APIService.cpp:
  Auto merged
storage/ndb/src/cw/cpcd/APIService.hpp:
  Auto merged
storage/ndb/src/cw/cpcd/CPCD.cpp:
  Auto merged
storage/ndb/src/cw/cpcd/CPCD.hpp:
  Auto merged
storage/ndb/src/cw/cpcd/Monitor.cpp:
  Auto merged
storage/ndb/src/cw/cpcd/Process.cpp:
  Auto merged
storage/ndb/src/cw/cpcd/common.cpp:
  Auto merged
storage/ndb/src/cw/cpcd/common.hpp:
  Auto merged
storage/ndb/src/cw/cpcd/main.cpp:
  Auto merged
storage/ndb/src/cw/test/socketclient/socketClientTest.cpp:
  Auto merged
storage/ndb/src/cw/util/ClientInterface.cpp:
  Auto merged
storage/ndb/src/cw/util/ClientInterface.hpp:
  Auto merged
storage/ndb/src/cw/util/SocketRegistry.cpp:
  Auto merged
storage/ndb/src/cw/util/SocketRegistry.hpp:
  Auto merged
storage/ndb/src/cw/util/SocketService.cpp:
  Auto merged
storage/ndb/src/cw/util/SocketService.hpp:
  Auto merged
storage/ndb/src/kernel/SimBlockList.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/mutexes.hpp:
  Auto merged
storage/ndb/src/kernel/main.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/backup/Backup.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/backup/BackupFormat.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/backup/BackupInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/backup/FsBuffer.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/backup/read.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbacc/Dbacc.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbacc/DbaccInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/SchemaFile.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/Sysfile.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/printSysfile/printSysfile.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/redoLogReader/records.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/redoLogReader/records.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/redoLogReader/redoLogFileReader.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/AttributeOffset.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupBuffer.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupDebug.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupStoredProcDef.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupTabDesMan.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/Dbtux.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxCmp.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxDebug.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxGen.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxMaint.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxMeta.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxSearch.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbutil/DbUtil.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbutil/DbUtil.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrSysTable.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/AsyncFileTest/AsyncFileTest.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/CircularIndex.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/CircularIndex.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/Filename.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/Filename.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/MemoryChannel.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/MemoryChannel.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/MemoryChannelTest/MemoryChannelTest.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/Ndbfs.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/OpenFiles.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/Pool.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/VoidFs.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/qmgr/QmgrInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/qmgr/timer.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/suma/Suma.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/suma/SumaInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/trix/Trix.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/trix/Trix.hpp:
  Auto merged
storage/ndb/src/kernel/error/ErrorHandlingMacros.hpp:
  Auto merged
storage/ndb/src/kernel/error/ErrorReporter.cpp:
  Auto merged
storage/ndb/src/kernel/error/ErrorReporter.hpp:
  Auto merged
storage/ndb/src/kernel/error/TimeModule.cpp:
  Auto merged
storage/ndb/src/kernel/error/TimeModule.hpp:
  Auto merged
storage/ndb/src/kernel/error/ndbd_exit_codes.c:
  Auto merged
storage/ndb/src/kernel/vm/Array.hpp:
  Auto merged
storage/ndb/src/kernel/vm/ArrayPool.hpp:
  Auto merged
storage/ndb/src/kernel/vm/CArray.hpp:
  Auto merged
storage/ndb/src/kernel/vm/Callback.hpp:
  Auto merged
storage/ndb/src/kernel/vm/ClusterConfiguration.cpp:
  Auto merged
storage/ndb/src/kernel/vm/ClusterConfiguration.hpp:
  Auto merged
storage/ndb/src/kernel/vm/Configuration.cpp:
  Auto merged
storage/ndb/src/kernel/vm/Configuration.hpp:
  Auto merged
storage/ndb/src/kernel/vm/DLFifoList.hpp:
  Auto merged
storage/ndb/src/kernel/vm/DLHashTable.hpp:
  Auto merged
storage/ndb/src/kernel/vm/DLHashTable2.hpp:
  Auto merged
storage/ndb/src/kernel/vm/DLList.hpp:
  Auto merged
storage/ndb/src/kernel/vm/DataBuffer.hpp:
  Auto merged
storage/ndb/src/kernel/vm/Emulator.cpp:
  Auto merged
storage/ndb/src/kernel/vm/Emulator.hpp:
  Auto merged
storage/ndb/src/kernel/vm/FastScheduler.cpp:
  Auto merged
storage/ndb/src/kernel/vm/FastScheduler.hpp:
  Auto merged
storage/ndb/src/kernel/vm/GlobalData.hpp:
  Auto merged
storage/ndb/src/kernel/vm/KeyDescriptor.hpp:
  Auto merged
storage/ndb/src/kernel/vm/KeyTable.hpp:
  Auto merged
storage/ndb/src/kernel/vm/KeyTable2.hpp:
  Auto merged
storage/ndb/src/kernel/vm/LongSignal.hpp:
  Auto merged
storage/ndb/src/kernel/vm/Mutex.cpp:
  Auto merged
storage/ndb/src/kernel/vm/Mutex.hpp:
  Auto merged
storage/ndb/src/kernel/vm/Prio.hpp:
  Auto merged
storage/ndb/src/kernel/vm/RequestTracker.hpp:
  Auto merged
storage/ndb/src/kernel/vm/SLList.hpp:
  Auto merged
storage/ndb/src/kernel/vm/SafeCounter.cpp:
  Auto merged
storage/ndb/src/kernel/vm/SafeCounter.hpp:
  Auto merged
storage/ndb/src/kernel/vm/SectionReader.cpp:
  Auto merged
storage/ndb/src/kernel/vm/SectionReader.hpp:
  Auto merged
storage/ndb/src/kernel/vm/SignalCounter.hpp:
  Auto merged
storage/ndb/src/kernel/vm/SimBlockList.hpp:
  Auto merged
storage/ndb/src/kernel/vm/SimplePropertiesSection.cpp:
  Auto merged
storage/ndb/src/kernel/vm/SimulatedBlock.cpp:
  Auto merged
storage/ndb/src/kernel/vm/SimulatedBlock.hpp:
  Auto merged
storage/ndb/src/kernel/vm/SuperPool.cpp:
  Auto merged
storage/ndb/src/kernel/vm/SuperPool.hpp:
  Auto merged
storage/ndb/src/kernel/vm/ThreadConfig.cpp:
  Auto merged
storage/ndb/src/kernel/vm/ThreadConfig.hpp:
  Auto merged
storage/ndb/src/kernel/vm/TimeQueue.cpp:
  Auto merged
storage/ndb/src/kernel/vm/TimeQueue.hpp:
  Auto merged
storage/ndb/src/kernel/vm/TransporterCallback.cpp:
  Auto merged
storage/ndb/src/kernel/vm/VMSignal.cpp:
  Auto merged
storage/ndb/src/kernel/vm/VMSignal.hpp:
  Auto merged
storage/ndb/src/kernel/vm/WaitQueue.hpp:
  Auto merged
storage/ndb/src/kernel/vm/WatchDog.cpp:
  Auto merged
storage/ndb/src/kernel/vm/WatchDog.hpp:
  Auto merged
storage/ndb/src/kernel/vm/al_test/arrayListTest.cpp:
  Auto merged
storage/ndb/src/kernel/vm/al_test/arrayPoolTest.cpp:
  Auto merged
storage/ndb/src/kernel/vm/al_test/main.cpp:
  Auto merged
storage/ndb/src/kernel/vm/ndbd_malloc.cpp:
  Auto merged
storage/ndb/src/kernel/vm/ndbd_malloc.hpp:
  Auto merged
storage/ndb/src/kernel/vm/pc.hpp:
  Auto merged
storage/ndb/src/kernel/vm/testCopy/rr.cpp:
  Auto merged
storage/ndb/src/kernel/vm/testCopy/testCopy.cpp:
  Auto merged
storage/ndb/src/kernel/vm/testDataBuffer/testDataBuffer.cpp:
  Auto merged
storage/ndb/src/kernel/vm/testLongSig/testLongSig.cpp:
  Auto merged
storage/ndb/src/kernel/vm/testSimplePropertiesSection/test.cpp:
  Auto merged
storage/ndb/src/kernel/vm/testSuperPool.cpp:
  Auto merged
storage/ndb/src/mgmapi/LocalConfig.cpp:
  Auto merged
storage/ndb/src/mgmapi/LocalConfig.hpp:
  Auto merged
storage/ndb/src/mgmapi/mgmapi.cpp:
  Auto merged
storage/ndb/src/mgmapi/mgmapi_configuration.hpp:
  Auto merged
storage/ndb/src/mgmapi/mgmapi_internal.h:
  Auto merged
storage/ndb/src/mgmapi/ndb_logevent.cpp:
  Auto merged
storage/ndb/src/mgmapi/ndb_logevent.hpp:
  Auto merged
storage/ndb/src/mgmapi/test/keso.c:
  Auto merged
storage/ndb/src/mgmapi/test/mgmSrvApi.cpp:
  Auto merged
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
storage/ndb/src/mgmclient/main.cpp:
  Auto merged
storage/ndb/src/mgmclient/ndb_mgmclient.hpp:
  Auto merged
storage/ndb/src/mgmclient/ndb_mgmclient.h:
  Auto merged
storage/ndb/src/mgmclient/test_cpcd/test_cpcd.cpp:
  Auto merged
storage/ndb/src/mgmsrv/Config.cpp:
  Auto merged
storage/ndb/src/mgmsrv/Config.hpp:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.hpp:
  Auto merged
storage/ndb/src/mgmsrv/InitConfigFileParser.cpp:
  Auto merged
storage/ndb/src/mgmsrv/InitConfigFileParser.hpp:
  Auto merged
storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
  Auto merged
storage/ndb/src/mgmsrv/MgmtSrvr.hpp:
  Auto merged
storage/ndb/src/mgmsrv/MgmtSrvrConfig.cpp:
  Auto merged
storage/ndb/src/mgmsrv/MgmtSrvrGeneralSignalHandling.cpp:
  Auto merged
storage/ndb/src/mgmsrv/Services.cpp:
  Auto merged
storage/ndb/src/mgmsrv/Services.hpp:
  Auto merged
storage/ndb/src/mgmsrv/SignalQueue.cpp:
  Auto merged
storage/ndb/src/mgmsrv/SignalQueue.hpp:
  Auto merged
storage/ndb/src/mgmsrv/convertStrToInt.cpp:
  Auto merged
storage/ndb/src/mgmsrv/convertStrToInt.hpp:
  Auto merged
storage/ndb/src/mgmsrv/main.cpp:
  Auto merged
storage/ndb/src/mgmsrv/mkconfig/mkconfig.cpp:
  Auto merged
storage/ndb/src/ndbapi/API.hpp:
  Auto merged
storage/ndb/src/ndbapi/ClusterMgr.cpp:
  Auto merged
storage/ndb/src/ndbapi/ClusterMgr.hpp:
  Auto merged
storage/ndb/src/ndbapi/DictCache.cpp:
  Auto merged
storage/ndb/src/ndbapi/DictCache.hpp:
  Auto merged
storage/ndb/src/ndbapi/Ndb.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbApiSignal.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbApiSignal.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbBlob.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbBlobImpl.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbDictionary.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbErrorOut.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbEventOperation.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbEventOperationImpl.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbImpl.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbIndexOperation.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbLinHash.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperation.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperationDefine.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperationExec.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperationInt.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperationScan.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperationSearch.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbPool.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbPoolImpl.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbPoolImpl.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbRecAttr.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbReceiver.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbScanFilter.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbTransaction.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbTransactionScan.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbUtil.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbUtil.hpp:
  Auto merged
storage/ndb/src/ndbapi/NdbWaiter.hpp:
  Auto merged
storage/ndb/src/ndbapi/Ndberr.cpp:
  Auto merged
storage/ndb/src/ndbapi/Ndbif.cpp:
  Auto merged
storage/ndb/src/ndbapi/Ndbinit.cpp:
  Auto merged
storage/ndb/src/ndbapi/Ndblist.cpp:
  Auto merged
storage/ndb/src/ndbapi/ObjectMap.hpp:
  Auto merged
storage/ndb/src/ndbapi/SignalSender.cpp:
  Auto merged
storage/ndb/src/ndbapi/SignalSender.hpp:
  Auto merged
storage/ndb/src/ndbapi/TransporterFacade.cpp:
  Auto merged
storage/ndb/src/ndbapi/TransporterFacade.hpp:
  Auto merged
storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
  Auto merged
storage/ndb/src/ndbapi/ndb_cluster_connection_impl.hpp:
  Auto merged
storage/ndb/src/ndbapi/ndberror.c:
  Auto merged
storage/ndb/src/ndbapi/signal-sender/SignalSender.cpp:
  Auto merged
storage/ndb/src/ndbapi/signal-sender/SignalSender.hpp:
  Auto merged
storage/ndb/test/include/CpcClient.hpp:
  Auto merged
storage/ndb/test/include/HugoAsynchTransactions.hpp:
  Auto merged
storage/ndb/test/include/HugoCalculator.hpp:
  Auto merged
storage/ndb/test/include/HugoOperations.hpp:
  Auto merged
storage/ndb/test/include/HugoTransactions.hpp:
  Auto merged
storage/ndb/test/include/NDBT.hpp:
  Auto merged
storage/ndb/test/include/NDBT_DataSet.hpp:
  Auto merged
storage/ndb/test/include/NDBT_DataSetTransaction.hpp:
  Auto merged
storage/ndb/test/include/NDBT_Error.hpp:
  Auto merged
storage/ndb/test/include/NDBT_Output.hpp:
  Auto merged
storage/ndb/test/include/NDBT_ResultRow.hpp:
  Auto merged
storage/ndb/test/include/NDBT_ReturnCodes.h:
  Auto merged
storage/ndb/test/include/NDBT_Stats.hpp:
  Auto merged
storage/ndb/test/include/NDBT_Table.hpp:
  Auto merged
storage/ndb/test/include/NDBT_Tables.hpp:
  Auto merged
storage/ndb/test/include/NDBT_Test.hpp:
  Auto merged
storage/ndb/test/include/NdbBackup.hpp:
  Auto merged
storage/ndb/test/include/NdbConfig.hpp:
  Auto merged
storage/ndb/test/include/NdbGrep.hpp:
  Auto merged
storage/ndb/test/include/NdbRestarter.hpp:
  Auto merged
storage/ndb/test/include/NdbRestarts.hpp:
  Auto merged
storage/ndb/test/include/NdbSchemaCon.hpp:
  Auto merged
storage/ndb/test/include/NdbSchemaOp.hpp:
  Auto merged
storage/ndb/test/include/NdbTest.hpp:
  Auto merged
storage/ndb/test/include/NdbTimer.hpp:
  Auto merged
storage/ndb/test/include/TestNdbEventOperation.hpp:
  Auto merged
storage/ndb/test/include/UtilTransactions.hpp:
  Auto merged
storage/ndb/test/include/getarg.h:
  Auto merged
storage/ndb/test/ndbapi/InsertRecs.cpp:
  Auto merged
storage/ndb/test/ndbapi/ScanFilter.hpp:
  Auto merged
storage/ndb/test/ndbapi/ScanFunctions.hpp:
  Auto merged
storage/ndb/test/ndbapi/ScanInterpretTest.hpp:
  Auto merged
storage/ndb/test/ndbapi/TraceNdbApi.cpp:
  Auto merged
storage/ndb/test/ndbapi/VerifyNdbApi.cpp:
  Auto merged
storage/ndb/test/ndbapi/acid.cpp:
  Auto merged
storage/ndb/test/ndbapi/acid2.cpp:
  Auto merged
storage/ndb/test/ndbapi/adoInsertRecs.cpp:
  Auto merged
storage/ndb/test/ndbapi/asyncGenerator.cpp:
  Auto merged
storage/ndb/test/ndbapi/benchronja.cpp:
  Auto merged
storage/ndb/test/ndbapi/bulk_copy.cpp:
  Auto merged
storage/ndb/test/ndbapi/cdrserver.cpp:
  Auto merged
storage/ndb/test/ndbapi/celloDb.cpp:
  Auto merged
storage/ndb/test/ndbapi/create_all_tabs.cpp:
  Auto merged
storage/ndb/test/ndbapi/create_tab.cpp:
  Auto merged
storage/ndb/test/ndbapi/drop_all_tabs.cpp:
  Auto merged
storage/ndb/test/ndbapi/flexAsynch.cpp:
  Auto merged
storage/ndb/test/ndbapi/flexBench.cpp:
  Auto merged
storage/ndb/test/ndbapi/flexHammer.cpp:
  Auto merged
storage/ndb/test/ndbapi/flexScan.cpp:
  Auto merged
storage/ndb/test/ndbapi/flexTT.cpp:
  Auto merged
storage/ndb/test/ndbapi/flexTimedAsynch.cpp:
  Auto merged
storage/ndb/test/ndbapi/flex_bench_mysql.cpp:
  Auto merged
storage/ndb/test/ndbapi/index.cpp:
  Auto merged
storage/ndb/test/ndbapi/index2.cpp:
  Auto merged
storage/ndb/test/ndbapi/initronja.cpp:
  Auto merged
storage/ndb/test/ndbapi/interpreterInTup.cpp:
  Auto merged
storage/ndb/test/ndbapi/mainAsyncGenerator.cpp:
  Auto merged
storage/ndb/test/ndbapi/msa.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_async1.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_async2.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_user_populate.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_user_transaction.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_user_transaction2.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_user_transaction3.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_user_transaction4.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_user_transaction5.cpp:
  Auto merged
storage/ndb/test/ndbapi/ndb_user_transaction6.cpp:
  Auto merged
storage/ndb/test/ndbapi/restarter.cpp:
  Auto merged
storage/ndb/test/ndbapi/restarter2.cpp:
  Auto merged
storage/ndb/test/ndbapi/restarts.cpp:
  Auto merged
storage/ndb/test/ndbapi/size.cpp:
  Auto merged
storage/ndb/test/ndbapi/testBackup.cpp:
  Auto merged
storage/ndb/test/ndbapi/testBasic.cpp:
  Auto merged
storage/ndb/test/ndbapi/testBasicAsynch.cpp:
  Auto merged
storage/ndb/test/ndbapi/testBlobs.cpp:
  Auto merged
storage/ndb/test/ndbapi/testDataBuffers.cpp:
  Auto merged
storage/ndb/test/ndbapi/testDeadlock.cpp:
  Auto merged
storage/ndb/test/ndbapi/testDict.cpp:
  Auto merged
storage/ndb/test/ndbapi/testGrepVerify.cpp:
  Auto merged
storage/ndb/test/ndbapi/testIndex.cpp:
  Auto merged
storage/ndb/test/ndbapi/testInterpreter.cpp:
  Auto merged
storage/ndb/test/ndbapi/testMgm.cpp:
  Auto merged
storage/ndb/test/ndbapi/testNdbApi.cpp:
  Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
  Auto merged
storage/ndb/test/ndbapi/testOIBasic.cpp:
  Auto merged
storage/ndb/test/ndbapi/testOperations.cpp:
  Auto merged
storage/ndb/test/ndbapi/testOrderedIndex.cpp:
  Auto merged
storage/ndb/test/ndbapi/testPartitioning.cpp:
  Auto merged
storage/ndb/test/ndbapi/testReadPerf.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/Bank.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/Bank.hpp:
  Auto merged
storage/ndb/test/ndbapi/bank/BankLoad.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/bankCreator.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/bankMakeGL.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/bankSumAccounts.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/bankTimer.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/bankTransactionMaker.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/bankValidateAllGLs.cpp:
  Auto merged
storage/ndb/test/ndbapi/bank/testBank.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/asyncGenerator.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/dbGenerator.h:
  Auto merged
storage/ndb/test/ndbapi/bench/dbPopulate.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/dbPopulate.h:
  Auto merged
storage/ndb/test/ndbapi/bench/macros.h:
  Auto merged
storage/ndb/test/ndbapi/bench/mainAsyncGenerator.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/mainPopulate.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_async1.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_async2.cpp:
  Auto merged
storage/ndb/test/ndbapi/testRestartGci.cpp:
  Auto merged
storage/ndb/test/ndbapi/testSRBank.cpp:
  Auto merged
storage/ndb/test/ndbapi/testScan.cpp:
  Auto merged
storage/ndb/test/ndbapi/testScanInterpreter.cpp:
  Auto merged
storage/ndb/test/ndbapi/testScanPerf.cpp:
  Auto merged
storage/ndb/test/ndbapi/testSystemRestart.cpp:
  Auto merged
storage/ndb/test/ndbapi/testTimeout.cpp:
  Auto merged
storage/ndb/test/ndbapi/testTransactions.cpp:
  Auto merged
storage/ndb/test/ndbapi/test_event.cpp:
  Auto merged
storage/ndb/test/ndbapi/test_event_merge.cpp:
  Auto merged
storage/ndb/test/ndbapi/test_event_multi_table.cpp:
  Auto merged
storage/ndb/test/ndbapi/userInterface.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_error.hpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_schema.hpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_user_transaction.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_user_transaction2.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_user_transaction3.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_user_transaction4.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_user_transaction5.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/ndb_user_transaction6.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/testData.h:
  Auto merged
storage/ndb/test/ndbapi/bench/testDefinitions.h:
  Auto merged
storage/ndb/test/ndbapi/bench/userInterface.cpp:
  Auto merged
storage/ndb/test/ndbapi/bench/userInterface.h:
  Auto merged
storage/ndb/test/newtonapi/basic_test/basic/basic.cpp:
  Auto merged
storage/ndb/test/newtonapi/basic_test/bulk_read/br_test.cpp:
  Auto merged
storage/ndb/test/newtonapi/basic_test/common.cpp:
  Auto merged
storage/ndb/test/newtonapi/basic_test/common.hpp:
  Auto merged
storage/ndb/test/newtonapi/basic_test/ptr_binding/ptr_binding_test.cpp:
  Auto merged
storage/ndb/test/newtonapi/basic_test/too_basic.cpp:
  Auto merged
storage/ndb/test/newtonapi/perf_test/perf.cpp:
  Auto merged
storage/ndb/test/odbc/SQL99_test/SQL99_test.cpp:
  Auto merged
storage/ndb/test/odbc/SQL99_test/SQL99_test.h:
  Auto merged
storage/ndb/test/odbc/client/NDBT_ALLOCHANDLE.cpp:
  Auto merged
storage/ndb/test/odbc/client/NDBT_ALLOCHANDLE_HDBC.cpp:
  Auto merged
storage/ndb/test/odbc/client/NDBT_SQLConnect.cpp:
  Auto merged
storage/ndb/test/odbc/client/NDBT_SQLPrepare.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLAllocEnvTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLAllocHandleTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLAllocHandleTest_bf.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLBindColTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLBindParameterTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLCancelTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLCloseCursorTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLColAttributeTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLColAttributeTest1.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLColAttributeTest2.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLColAttributeTest3.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLConnectTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLCopyDescTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLDescribeColTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLDisconnectTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLDriverConnectTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLEndTranTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLErrorTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLExecDirectTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLExecuteTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLFetchScrollTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLFetchTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLFreeHandleTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLFreeStmtTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetConnectAttrTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetCursorNameTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetDataTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetDescFieldTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetDescRecTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetDiagFieldTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetDiagRecSimpleTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetDiagRecTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetEnvAttrTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetFunctionsTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetInfoTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetStmtAttrTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLGetTypeInfoTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLMoreResultsTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLNumResultColsTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLParamDataTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLPrepareTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLPutDataTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLRowCountTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLSetConnectAttrTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLSetCursorNameTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLSetDescFieldTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLSetDescRecTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLSetEnvAttrTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLSetStmtAttrTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLTablesTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/SQLTransactTest.cpp:
  Auto merged
storage/ndb/test/odbc/client/common.hpp:
  Auto merged
storage/ndb/test/odbc/client/main.cpp:
  Auto merged
storage/ndb/test/odbc/driver/testOdbcDriver.cpp:
  Auto merged
storage/ndb/test/odbc/test_compiler/test_compiler.cpp:
  Auto merged
storage/ndb/test/run-test/main.cpp:
  Auto merged
storage/ndb/test/run-test/run-test.hpp:
  Auto merged
storage/ndb/test/src/CpcClient.cpp:
  Auto merged
storage/ndb/test/src/HugoAsynchTransactions.cpp:
  Auto merged
storage/ndb/test/src/HugoCalculator.cpp:
  Auto merged
storage/ndb/test/src/HugoOperations.cpp:
  Auto merged
storage/ndb/test/src/HugoTransactions.cpp:
  Auto merged
storage/ndb/test/src/NDBT_Error.cpp:
  Auto merged
storage/ndb/test/src/NDBT_Output.cpp:
  Auto merged
storage/ndb/test/src/NDBT_ResultRow.cpp:
  Auto merged
storage/ndb/test/src/NDBT_ReturnCodes.cpp:
  Auto merged
storage/ndb/test/src/NDBT_Table.cpp:
  Auto merged
storage/ndb/test/src/NDBT_Tables.cpp:
  Auto merged
storage/ndb/test/src/NDBT_Test.cpp:
  Auto merged
storage/ndb/test/src/NdbBackup.cpp:
  Auto merged
storage/ndb/test/src/NdbConfig.cpp:
  Auto merged
storage/ndb/test/src/NdbGrep.cpp:
  Auto merged
storage/ndb/test/src/NdbRestarter.cpp:
  Auto merged
storage/ndb/test/src/NdbRestarts.cpp:
  Auto merged
storage/ndb/test/src/NdbSchemaCon.cpp:
  Auto merged
storage/ndb/test/src/NdbSchemaOp.cpp:
  Auto merged
storage/ndb/test/src/UtilTransactions.cpp:
  Auto merged
storage/ndb/test/tools/copy_tab.cpp:
  Auto merged
storage/ndb/test/tools/cpcc.cpp:
  Auto merged
storage/ndb/test/tools/create_index.cpp:
  Auto merged
storage/ndb/test/tools/hugoCalculator.cpp:
  Auto merged
storage/ndb/test/tools/hugoFill.cpp:
  Auto merged
storage/ndb/test/tools/hugoLoad.cpp:
  Auto merged
storage/ndb/test/tools/hugoLockRecords.cpp:
  Auto merged
storage/ndb/test/tools/hugoPkDelete.cpp:
  Auto merged
storage/ndb/test/tools/hugoPkRead.cpp:
  Auto merged
storage/ndb/test/tools/hugoPkReadRecord.cpp:
  Auto merged
storage/ndb/test/tools/hugoPkUpdate.cpp:
  Auto merged
storage/ndb/test/tools/hugoScanRead.cpp:
  Auto merged
storage/ndb/test/tools/hugoScanUpdate.cpp:
  Auto merged
storage/ndb/test/tools/restart.cpp:
  Auto merged
storage/ndb/test/tools/transproxy.cpp:
  Auto merged
storage/ndb/test/tools/verify_index.cpp:
  Auto merged
storage/ndb/tools/delete_all.cpp:
  Auto merged
storage/ndb/tools/desc.cpp:
  Auto merged
storage/ndb/tools/drop_index.cpp:
  Auto merged
storage/ndb/tools/drop_tab.cpp:
  Auto merged
storage/ndb/tools/listTables.cpp:
  Auto merged
storage/ndb/tools/ndb_condig.cpp:
  Auto merged
storage/ndb/tools/ndb_test_platform.cpp:
  Auto merged
storage/ndb/tools/ndbsql.cpp:
  Auto merged
storage/ndb/tools/restore/Restore.cpp:
  Auto merged
storage/ndb/tools/restore/Restore.hpp:
  Auto merged
storage/ndb/tools/restore/consumer.cpp:
  Auto merged
storage/ndb/tools/restore/consumer.hpp:
  Auto merged
storage/ndb/tools/restore/consumer_printer.cpp:
  Auto merged
storage/ndb/tools/restore/consumer_printer.hpp:
  Auto merged
storage/ndb/tools/restore/consumer_restore.cpp:
  Auto merged
storage/ndb/tools/restore/consumer_restore.hpp:
  Auto merged
storage/ndb/tools/restore/consumer_restorem.cpp:
  Auto merged
storage/ndb/tools/restore/restore_main.cpp:
  Auto merged
storage/ndb/tools/select_all.cpp:
  Auto merged
storage/ndb/tools/select_count.cpp:
  Auto merged
storage/ndb/tools/waiter.cpp:
  Auto merged
strings/Makefile.am:
  Auto merged
strings/ctype-big5.c:
  Auto merged
strings/ctype-bin.c:
  Auto merged
strings/ctype-cp932.c:
  Auto merged
strings/ctype-euc_kr.c:
  Auto merged
strings/ctype-eucjpms.c:
  Auto merged
strings/ctype-gb2312.c:
  Auto merged
strings/ctype-gbk.c:
  Auto merged
strings/ctype-latin1.c:
  Auto merged
strings/ctype-mb.c:
  Auto merged
strings/ctype-simple.c:
  Auto merged
strings/ctype-sjis.c:
  Auto merged
strings/ctype-tis620.c:
  Auto merged
strings/ctype-ucs2.c:
  Auto merged
strings/ctype-ujis.c:
  Auto merged
strings/ctype-utf8.c:
  Auto merged
strings/ctype-win1250ch.c:
  Auto merged
strings/ctype.c:
  Auto merged
strings/decimal.c:
  Auto merged
strings/strxnmov.c:
  Auto merged
strings/xml.c:
  Auto merged
tests/Makefile.am:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
vio/Makefile.am:
  Auto merged
vio/vio.c:
  Auto merged
vio/viosocket.c:
  Auto merged
vio/viossl.c:
  Auto merged
vio/viosslfactories.c:
  Auto merged
zlib/Makefile.am:
  Auto merged
2006-12-23 20:20:40 +01:00
unknown
6b0853a398 Many files:
Changed header to GPL version 2 only


BUILD/Makefile.am:
  Changed header to GPL version 2 only
Docs/Makefile.am:
  Changed header to GPL version 2 only
Makefile.am:
  Changed header to GPL version 2 only
SSL/Makefile.am:
  Changed header to GPL version 2 only
bdb/Makefile.in:
  Changed header to GPL version 2 only
client/Makefile.am:
  Changed header to GPL version 2 only
client/client_priv.h:
  Changed header to GPL version 2 only
client/completion_hash.cc:
  Changed header to GPL version 2 only
client/completion_hash.h:
  Changed header to GPL version 2 only
client/get_password.c:
  Changed header to GPL version 2 only
client/my_readline.h:
  Changed header to GPL version 2 only
client/mysql.cc:
  Changed header to GPL version 2 only
client/mysql_upgrade.c:
  Changed header to GPL version 2 only
client/mysqladmin.cc:
  Changed header to GPL version 2 only
client/mysqlbinlog.cc:
  Changed header to GPL version 2 only
client/mysqlcheck.c:
  Changed header to GPL version 2 only
client/mysqldump.c:
  Changed header to GPL version 2 only
client/mysqlimport.c:
  Changed header to GPL version 2 only
client/mysqlmanager-pwgen.c:
  Changed header to GPL version 2 only
client/mysqlmanagerc.c:
  Changed header to GPL version 2 only
client/mysqlshow.c:
  Changed header to GPL version 2 only
client/mysqltest.c:
  Changed header to GPL version 2 only
client/readline.cc:
  Changed header to GPL version 2 only
client/sql_string.cc:
  Changed header to GPL version 2 only
client/sql_string.h:
  Changed header to GPL version 2 only
cmd-line-utils/Makefile.am:
  Changed header to GPL version 2 only
dbug/Makefile.am:
  Changed header to GPL version 2 only
extra/Makefile.am:
  Changed header to GPL version 2 only
extra/charset2html.c:
  Changed header to GPL version 2 only
extra/comp_err.c:
  Changed header to GPL version 2 only
extra/innochecksum.c:
  Changed header to GPL version 2 only
extra/my_print_defaults.c:
  Changed header to GPL version 2 only
extra/mysql_waitpid.c:
  Changed header to GPL version 2 only
extra/perror.c:
  Changed header to GPL version 2 only
extra/replace.c:
  Changed header to GPL version 2 only
extra/resolve_stack_dump.c:
  Changed header to GPL version 2 only
extra/resolveip.c:
  Changed header to GPL version 2 only
heap/Makefile.am:
  Changed header to GPL version 2 only
heap/_check.c:
  Changed header to GPL version 2 only
heap/_rectest.c:
  Changed header to GPL version 2 only
heap/heapdef.h:
  Changed header to GPL version 2 only
heap/hp_block.c:
  Changed header to GPL version 2 only
heap/hp_clear.c:
  Changed header to GPL version 2 only
heap/hp_close.c:
  Changed header to GPL version 2 only
heap/hp_create.c:
  Changed header to GPL version 2 only
heap/hp_delete.c:
  Changed header to GPL version 2 only
heap/hp_extra.c:
  Changed header to GPL version 2 only
heap/hp_hash.c:
  Changed header to GPL version 2 only
heap/hp_info.c:
  Changed header to GPL version 2 only
heap/hp_open.c:
  Changed header to GPL version 2 only
heap/hp_panic.c:
  Changed header to GPL version 2 only
heap/hp_rename.c:
  Changed header to GPL version 2 only
heap/hp_rfirst.c:
  Changed header to GPL version 2 only
heap/hp_rkey.c:
  Changed header to GPL version 2 only
heap/hp_rlast.c:
  Changed header to GPL version 2 only
heap/hp_rnext.c:
  Changed header to GPL version 2 only
heap/hp_rprev.c:
  Changed header to GPL version 2 only
heap/hp_rrnd.c:
  Changed header to GPL version 2 only
heap/hp_rsame.c:
  Changed header to GPL version 2 only
heap/hp_scan.c:
  Changed header to GPL version 2 only
heap/hp_static.c:
  Changed header to GPL version 2 only
heap/hp_test1.c:
  Changed header to GPL version 2 only
heap/hp_test2.c:
  Changed header to GPL version 2 only
heap/hp_update.c:
  Changed header to GPL version 2 only
heap/hp_write.c:
  Changed header to GPL version 2 only
include/Makefile.am:
  Changed header to GPL version 2 only
include/base64.h:
  Changed header to GPL version 2 only
include/config-netware.h:
  Changed header to GPL version 2 only
include/config-os2.h:
  Changed header to GPL version 2 only
include/config-win.h:
  Changed header to GPL version 2 only
include/decimal.h:
  Changed header to GPL version 2 only
include/errmsg.h:
  Changed header to GPL version 2 only
include/ft_global.h:
  Changed header to GPL version 2 only
include/hash.h:
  Changed header to GPL version 2 only
include/heap.h:
  Changed header to GPL version 2 only
include/keycache.h:
  Changed header to GPL version 2 only
include/m_ctype.h:
  Changed header to GPL version 2 only
include/m_string.h:
  Changed header to GPL version 2 only
include/md5.h:
  Changed header to GPL version 2 only
include/my_aes.h:
  Changed header to GPL version 2 only
include/my_alarm.h:
  Changed header to GPL version 2 only
include/my_alloc.h:
  Changed header to GPL version 2 only
include/my_base.h:
  Changed header to GPL version 2 only
include/my_bitmap.h:
  Changed header to GPL version 2 only
include/my_dbug.h:
  Changed header to GPL version 2 only
include/my_dir.h:
  Changed header to GPL version 2 only
include/my_getopt.h:
  Changed header to GPL version 2 only
include/my_global.h:
  Changed header to GPL version 2 only
include/my_handler.h:
  Changed header to GPL version 2 only
include/my_libwrap.h:
  Changed header to GPL version 2 only
include/my_list.h:
  Changed header to GPL version 2 only
include/my_net.h:
  Changed header to GPL version 2 only
include/my_no_pthread.h:
  Changed header to GPL version 2 only
include/my_nosys.h:
  Changed header to GPL version 2 only
include/my_pthread.h:
  Changed header to GPL version 2 only
include/my_sys.h:
  Changed header to GPL version 2 only
include/my_time.h:
  Changed header to GPL version 2 only
include/my_tree.h:
  Changed header to GPL version 2 only
include/my_user.h:
  Changed header to GPL version 2 only
include/my_xml.h:
  Changed header to GPL version 2 only
include/myisam.h:
  Changed header to GPL version 2 only
include/myisammrg.h:
  Changed header to GPL version 2 only
include/myisampack.h:
  Changed header to GPL version 2 only
include/mysql.h:
  Changed header to GPL version 2 only
include/mysql_com.h:
  Changed header to GPL version 2 only
include/mysql_embed.h:
  Changed header to GPL version 2 only
include/mysql_time.h:
  Changed header to GPL version 2 only
include/mysys_err.h:
  Changed header to GPL version 2 only
include/queues.h:
  Changed header to GPL version 2 only
include/raid.h:
  Changed header to GPL version 2 only
include/rijndael.h:
  Changed header to GPL version 2 only
include/sha1.h:
  Changed header to GPL version 2 only
include/sql_common.h:
  Changed header to GPL version 2 only
include/sslopt-case.h:
  Changed header to GPL version 2 only
include/sslopt-longopts.h:
  Changed header to GPL version 2 only
include/sslopt-vars.h:
  Changed header to GPL version 2 only
include/t_ctype.h:
  Changed header to GPL version 2 only
include/thr_alarm.h:
  Changed header to GPL version 2 only
include/thr_lock.h:
  Changed header to GPL version 2 only
include/typelib.h:
  Changed header to GPL version 2 only
include/violite.h:
  Changed header to GPL version 2 only
innobase/Makefile.am:
  Changed header to GPL version 2 only
innobase/btr/Makefile.am:
  Changed header to GPL version 2 only
innobase/buf/Makefile.am:
  Changed header to GPL version 2 only
innobase/data/Makefile.am:
  Changed header to GPL version 2 only
innobase/dict/Makefile.am:
  Changed header to GPL version 2 only
innobase/dyn/Makefile.am:
  Changed header to GPL version 2 only
innobase/eval/Makefile.am:
  Changed header to GPL version 2 only
innobase/fil/Makefile.am:
  Changed header to GPL version 2 only
innobase/fsp/Makefile.am:
  Changed header to GPL version 2 only
innobase/fut/Makefile.am:
  Changed header to GPL version 2 only
innobase/ha/Makefile.am:
  Changed header to GPL version 2 only
innobase/ibuf/Makefile.am:
  Changed header to GPL version 2 only
innobase/include/Makefile.am:
  Changed header to GPL version 2 only
innobase/lock/Makefile.am:
  Changed header to GPL version 2 only
innobase/log/Makefile.am:
  Changed header to GPL version 2 only
innobase/mach/Makefile.am:
  Changed header to GPL version 2 only
innobase/mem/Makefile.am:
  Changed header to GPL version 2 only
innobase/mtr/Makefile.am:
  Changed header to GPL version 2 only
innobase/os/Makefile.am:
  Changed header to GPL version 2 only
innobase/page/Makefile.am:
  Changed header to GPL version 2 only
innobase/pars/Makefile.am:
  Changed header to GPL version 2 only
innobase/que/Makefile.am:
  Changed header to GPL version 2 only
innobase/read/Makefile.am:
  Changed header to GPL version 2 only
innobase/rem/Makefile.am:
  Changed header to GPL version 2 only
innobase/row/Makefile.am:
  Changed header to GPL version 2 only
innobase/srv/Makefile.am:
  Changed header to GPL version 2 only
innobase/sync/Makefile.am:
  Changed header to GPL version 2 only
innobase/thr/Makefile.am:
  Changed header to GPL version 2 only
innobase/trx/Makefile.am:
  Changed header to GPL version 2 only
innobase/usr/Makefile.am:
  Changed header to GPL version 2 only
innobase/ut/Makefile.am:
  Changed header to GPL version 2 only
libmysql/client_settings.h:
  Changed header to GPL version 2 only
libmysqld/Makefile.am:
  Changed header to GPL version 2 only
libmysqld/emb_qcache.cc:
  Changed header to GPL version 2 only
libmysqld/emb_qcache.h:
  Changed header to GPL version 2 only
libmysqld/embedded_priv.h:
  Changed header to GPL version 2 only
libmysqld/examples/Makefile.am:
  Changed header to GPL version 2 only
libmysqld/libmysqld.c:
  Changed header to GPL version 2 only
man/Makefile.am:
  Changed header to GPL version 2 only
myisam/Makefile.am:
  Changed header to GPL version 2 only
myisam/ft_boolean_search.c:
  Changed header to GPL version 2 only
myisam/ft_eval.c:
  Changed header to GPL version 2 only
myisam/ft_eval.h:
  Changed header to GPL version 2 only
myisam/ft_nlq_search.c:
  Changed header to GPL version 2 only
myisam/ft_parser.c:
  Changed header to GPL version 2 only
myisam/ft_static.c:
  Changed header to GPL version 2 only
myisam/ft_stem.c:
  Changed header to GPL version 2 only
myisam/ft_stopwords.c:
  Changed header to GPL version 2 only
myisam/ft_test1.c:
  Changed header to GPL version 2 only
myisam/ft_test1.h:
  Changed header to GPL version 2 only
myisam/ft_update.c:
  Changed header to GPL version 2 only
myisam/ftdefs.h:
  Changed header to GPL version 2 only
myisam/fulltext.h:
  Changed header to GPL version 2 only
myisam/mi_cache.c:
  Changed header to GPL version 2 only
myisam/mi_changed.c:
  Changed header to GPL version 2 only
myisam/mi_check.c:
  Changed header to GPL version 2 only
myisam/mi_checksum.c:
  Changed header to GPL version 2 only
myisam/mi_close.c:
  Changed header to GPL version 2 only
myisam/mi_create.c:
  Changed header to GPL version 2 only
myisam/mi_dbug.c:
  Changed header to GPL version 2 only
myisam/mi_delete.c:
  Changed header to GPL version 2 only
myisam/mi_delete_all.c:
  Changed header to GPL version 2 only
myisam/mi_delete_table.c:
  Changed header to GPL version 2 only
myisam/mi_dynrec.c:
  Changed header to GPL version 2 only
myisam/mi_extra.c:
  Changed header to GPL version 2 only
myisam/mi_info.c:
  Changed header to GPL version 2 only
myisam/mi_key.c:
  Changed header to GPL version 2 only
myisam/mi_keycache.c:
  Changed header to GPL version 2 only
myisam/mi_locking.c:
  Changed header to GPL version 2 only
myisam/mi_log.c:
  Changed header to GPL version 2 only
myisam/mi_open.c:
  Changed header to GPL version 2 only
myisam/mi_packrec.c:
  Changed header to GPL version 2 only
myisam/mi_page.c:
  Changed header to GPL version 2 only
myisam/mi_panic.c:
  Changed header to GPL version 2 only
myisam/mi_preload.c:
  Changed header to GPL version 2 only
myisam/mi_range.c:
  Changed header to GPL version 2 only
myisam/mi_rename.c:
  Changed header to GPL version 2 only
myisam/mi_rfirst.c:
  Changed header to GPL version 2 only
myisam/mi_rkey.c:
  Changed header to GPL version 2 only
myisam/mi_rlast.c:
  Changed header to GPL version 2 only
myisam/mi_rnext.c:
  Changed header to GPL version 2 only
myisam/mi_rnext_same.c:
  Changed header to GPL version 2 only
myisam/mi_rprev.c:
  Changed header to GPL version 2 only
myisam/mi_rrnd.c:
  Changed header to GPL version 2 only
myisam/mi_rsame.c:
  Changed header to GPL version 2 only
myisam/mi_rsamepos.c:
  Changed header to GPL version 2 only
myisam/mi_scan.c:
  Changed header to GPL version 2 only
myisam/mi_search.c:
  Changed header to GPL version 2 only
myisam/mi_static.c:
  Changed header to GPL version 2 only
myisam/mi_statrec.c:
  Changed header to GPL version 2 only
myisam/mi_test1.c:
  Changed header to GPL version 2 only
myisam/mi_test2.c:
  Changed header to GPL version 2 only
myisam/mi_test3.c:
  Changed header to GPL version 2 only
myisam/mi_unique.c:
  Changed header to GPL version 2 only
myisam/mi_update.c:
  Changed header to GPL version 2 only
myisam/mi_write.c:
  Changed header to GPL version 2 only
myisam/myisam_ftdump.c:
  Changed header to GPL version 2 only
myisam/myisamchk.c:
  Changed header to GPL version 2 only
myisam/myisamdef.h:
  Changed header to GPL version 2 only
myisam/myisamlog.c:
  Changed header to GPL version 2 only
myisam/myisampack.c:
  Changed header to GPL version 2 only
myisam/rt_index.c:
  Changed header to GPL version 2 only
myisam/rt_index.h:
  Changed header to GPL version 2 only
myisam/rt_key.c:
  Changed header to GPL version 2 only
myisam/rt_key.h:
  Changed header to GPL version 2 only
myisam/rt_mbr.c:
  Changed header to GPL version 2 only
myisam/rt_mbr.h:
  Changed header to GPL version 2 only
myisam/rt_split.c:
  Changed header to GPL version 2 only
myisam/rt_test.c:
  Changed header to GPL version 2 only
myisam/sort.c:
  Changed header to GPL version 2 only
myisam/sp_defs.h:
  Changed header to GPL version 2 only
myisam/sp_key.c:
  Changed header to GPL version 2 only
myisam/sp_test.c:
  Changed header to GPL version 2 only
myisammrg/Makefile.am:
  Changed header to GPL version 2 only
myisammrg/myrg_close.c:
  Changed header to GPL version 2 only
myisammrg/myrg_create.c:
  Changed header to GPL version 2 only
myisammrg/myrg_def.h:
  Changed header to GPL version 2 only
myisammrg/myrg_delete.c:
  Changed header to GPL version 2 only
myisammrg/myrg_extra.c:
  Changed header to GPL version 2 only
myisammrg/myrg_info.c:
  Changed header to GPL version 2 only
myisammrg/myrg_locking.c:
  Changed header to GPL version 2 only
myisammrg/myrg_open.c:
  Changed header to GPL version 2 only
myisammrg/myrg_panic.c:
  Changed header to GPL version 2 only
myisammrg/myrg_queue.c:
  Changed header to GPL version 2 only
myisammrg/myrg_range.c:
  Changed header to GPL version 2 only
myisammrg/myrg_rfirst.c:
  Changed header to GPL version 2 only
myisammrg/myrg_rkey.c:
  Changed header to GPL version 2 only
myisammrg/myrg_rlast.c:
  Changed header to GPL version 2 only
myisammrg/myrg_rnext.c:
  Changed header to GPL version 2 only
myisammrg/myrg_rnext_same.c:
  Changed header to GPL version 2 only
myisammrg/myrg_rprev.c:
  Changed header to GPL version 2 only
myisammrg/myrg_rrnd.c:
  Changed header to GPL version 2 only
myisammrg/myrg_rsame.c:
  Changed header to GPL version 2 only
myisammrg/myrg_static.c:
  Changed header to GPL version 2 only
myisammrg/myrg_update.c:
  Changed header to GPL version 2 only
myisammrg/myrg_write.c:
  Changed header to GPL version 2 only
mysql-test/Makefile.am:
  Changed header to GPL version 2 only
mysys/Makefile.am:
  Changed header to GPL version 2 only
mysys/array.c:
  Changed header to GPL version 2 only
mysys/base64.c:
  Changed header to GPL version 2 only
mysys/charset-def.c:
  Changed header to GPL version 2 only
mysys/charset.c:
  Changed header to GPL version 2 only
mysys/checksum.c:
  Changed header to GPL version 2 only
mysys/default.c:
  Changed header to GPL version 2 only
mysys/default_modify.c:
  Changed header to GPL version 2 only
mysys/errors.c:
  Changed header to GPL version 2 only
mysys/hash.c:
  Changed header to GPL version 2 only
mysys/list.c:
  Changed header to GPL version 2 only
mysys/make-conf.c:
  Changed header to GPL version 2 only
mysys/md5.c:
  Changed header to GPL version 2 only
mysys/mf_brkhant.c:
  Changed header to GPL version 2 only
mysys/mf_cache.c:
  Changed header to GPL version 2 only
mysys/mf_dirname.c:
  Changed header to GPL version 2 only
mysys/mf_fn_ext.c:
  Changed header to GPL version 2 only
mysys/mf_format.c:
  Changed header to GPL version 2 only
mysys/mf_getdate.c:
  Changed header to GPL version 2 only
mysys/mf_iocache.c:
  Changed header to GPL version 2 only
mysys/mf_iocache2.c:
  Changed header to GPL version 2 only
mysys/mf_keycache.c:
  Changed header to GPL version 2 only
mysys/mf_keycaches.c:
  Changed header to GPL version 2 only
mysys/mf_loadpath.c:
  Changed header to GPL version 2 only
mysys/mf_pack.c:
  Changed header to GPL version 2 only
mysys/mf_path.c:
  Changed header to GPL version 2 only
mysys/mf_qsort.c:
  Changed header to GPL version 2 only
mysys/mf_qsort2.c:
  Changed header to GPL version 2 only
mysys/mf_radix.c:
  Changed header to GPL version 2 only
mysys/mf_same.c:
  Changed header to GPL version 2 only
mysys/mf_sort.c:
  Changed header to GPL version 2 only
mysys/mf_soundex.c:
  Changed header to GPL version 2 only
mysys/mf_strip.c:
  Changed header to GPL version 2 only
mysys/mf_tempdir.c:
  Changed header to GPL version 2 only
mysys/mf_tempfile.c:
  Changed header to GPL version 2 only
mysys/mf_unixpath.c:
  Changed header to GPL version 2 only
mysys/mf_util.c:
  Changed header to GPL version 2 only
mysys/mf_wcomp.c:
  Changed header to GPL version 2 only
mysys/mf_wfile.c:
  Changed header to GPL version 2 only
mysys/mulalloc.c:
  Changed header to GPL version 2 only
mysys/my_access.c:
  Changed header to GPL version 2 only
mysys/my_aes.c:
  Changed header to GPL version 2 only
mysys/my_alarm.c:
  Changed header to GPL version 2 only
mysys/my_alloc.c:
  Changed header to GPL version 2 only
mysys/my_append.c:
  Changed header to GPL version 2 only
mysys/my_bit.c:
  Changed header to GPL version 2 only
mysys/my_bitmap.c:
  Changed header to GPL version 2 only
mysys/my_chsize.c:
  Changed header to GPL version 2 only
mysys/my_clock.c:
  Changed header to GPL version 2 only
mysys/my_compress.c:
  Changed header to GPL version 2 only
mysys/my_conio.c:
  Changed header to GPL version 2 only
mysys/my_copy.c:
  Changed header to GPL version 2 only
mysys/my_crc32.c:
  Changed header to GPL version 2 only
mysys/my_create.c:
  Changed header to GPL version 2 only
mysys/my_delete.c:
  Changed header to GPL version 2 only
mysys/my_div.c:
  Changed header to GPL version 2 only
mysys/my_dup.c:
  Changed header to GPL version 2 only
mysys/my_error.c:
  Changed header to GPL version 2 only
mysys/my_file.c:
  Changed header to GPL version 2 only
mysys/my_fopen.c:
  Changed header to GPL version 2 only
mysys/my_fstream.c:
  Changed header to GPL version 2 only
mysys/my_gethostbyname.c:
  Changed header to GPL version 2 only
mysys/my_gethwaddr.c:
  Changed header to GPL version 2 only
mysys/my_getopt.c:
  Changed header to GPL version 2 only
mysys/my_getpagesize.c:
  Changed header to GPL version 2 only
mysys/my_getsystime.c:
  Changed header to GPL version 2 only
mysys/my_getwd.c:
  Changed header to GPL version 2 only
mysys/my_handler.c:
  Changed header to GPL version 2 only
mysys/my_init.c:
  Changed header to GPL version 2 only
mysys/my_largepage.c:
  Changed header to GPL version 2 only
mysys/my_lib.c:
  Changed header to GPL version 2 only
mysys/my_libwrap.c:
  Changed header to GPL version 2 only
mysys/my_lock.c:
  Changed header to GPL version 2 only
mysys/my_lockmem.c:
  Changed header to GPL version 2 only
mysys/my_lread.c:
  Changed header to GPL version 2 only
mysys/my_lwrite.c:
  Changed header to GPL version 2 only
mysys/my_malloc.c:
  Changed header to GPL version 2 only
mysys/my_messnc.c:
  Changed header to GPL version 2 only
mysys/my_mkdir.c:
  Changed header to GPL version 2 only
mysys/my_mmap.c:
  Changed header to GPL version 2 only
mysys/my_net.c:
  Changed header to GPL version 2 only
mysys/my_netware.c:
  Changed header to GPL version 2 only
mysys/my_new.cc:
  Changed header to GPL version 2 only
mysys/my_once.c:
  Changed header to GPL version 2 only
mysys/my_open.c:
  Changed header to GPL version 2 only
mysys/my_os2cond.c:
  Changed header to GPL version 2 only
mysys/my_os2dirsrch.c:
  Changed header to GPL version 2 only
mysys/my_os2dirsrch.h:
  Changed header to GPL version 2 only
mysys/my_os2dlfcn.c:
  Changed header to GPL version 2 only
mysys/my_os2dlfcn.h0:
  Changed header to GPL version 2 only
mysys/my_os2file64.c:
  Changed header to GPL version 2 only
mysys/my_os2thread.c:
  Changed header to GPL version 2 only
mysys/my_os2tls.c:
  Changed header to GPL version 2 only
mysys/my_port.c:
  Changed header to GPL version 2 only
mysys/my_pread.c:
  Changed header to GPL version 2 only
mysys/my_pthread.c:
  Changed header to GPL version 2 only
mysys/my_quick.c:
  Changed header to GPL version 2 only
mysys/my_read.c:
  Changed header to GPL version 2 only
mysys/my_realloc.c:
  Changed header to GPL version 2 only
mysys/my_redel.c:
  Changed header to GPL version 2 only
mysys/my_rename.c:
  Changed header to GPL version 2 only
mysys/my_seek.c:
  Changed header to GPL version 2 only
mysys/my_semaphore.c:
  Changed header to GPL version 2 only
mysys/my_sleep.c:
  Changed header to GPL version 2 only
mysys/my_static.c:
  Changed header to GPL version 2 only
mysys/my_static.h:
  Changed header to GPL version 2 only
mysys/my_symlink.c:
  Changed header to GPL version 2 only
mysys/my_symlink2.c:
  Changed header to GPL version 2 only
mysys/my_sync.c:
  Changed header to GPL version 2 only
mysys/my_thr_init.c:
  Changed header to GPL version 2 only
mysys/my_wincond.c:
  Changed header to GPL version 2 only
mysys/my_windac.c:
  Changed header to GPL version 2 only
mysys/my_winthread.c:
  Changed header to GPL version 2 only
mysys/my_write.c:
  Changed header to GPL version 2 only
mysys/mysys_priv.h:
  Changed header to GPL version 2 only
mysys/ptr_cmp.c:
  Changed header to GPL version 2 only
mysys/queues.c:
  Changed header to GPL version 2 only
mysys/raid.cc:
  Changed header to GPL version 2 only
mysys/raid2.c:
  Changed header to GPL version 2 only
mysys/rijndael.c:
  Changed header to GPL version 2 only
mysys/safemalloc.c:
  Changed header to GPL version 2 only
mysys/sha1.c:
  Changed header to GPL version 2 only
mysys/string.c:
  Changed header to GPL version 2 only
mysys/test_charset.c:
  Changed header to GPL version 2 only
mysys/test_dir.c:
  Changed header to GPL version 2 only
mysys/test_fn.c:
  Changed header to GPL version 2 only
mysys/test_xml.c:
  Changed header to GPL version 2 only
mysys/testhash.c:
  Changed header to GPL version 2 only
mysys/thr_alarm.c:
  Changed header to GPL version 2 only
mysys/thr_lock.c:
  Changed header to GPL version 2 only
mysys/thr_mutex.c:
  Changed header to GPL version 2 only
mysys/thr_rwlock.c:
  Changed header to GPL version 2 only
mysys/tree.c:
  Changed header to GPL version 2 only
mysys/typelib.c:
  Changed header to GPL version 2 only
ndb/include/debugger/DebuggerNames.hpp:
  Changed header to GPL version 2 only
ndb/include/debugger/EventLogger.hpp:
  Changed header to GPL version 2 only
ndb/include/debugger/GrepError.hpp:
  Changed header to GPL version 2 only
ndb/include/debugger/SignalLoggerManager.hpp:
  Changed header to GPL version 2 only
ndb/include/editline/editline.h:
  Changed header to GPL version 2 only
ndb/include/kernel/AttributeDescriptor.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/AttributeHeader.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/AttributeList.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/BlockNumbers.h:
  Changed header to GPL version 2 only
ndb/include/kernel/GlobalSignalNumbers.h:
  Changed header to GPL version 2 only
ndb/include/kernel/GrepEvent.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/Interpreter.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/LogLevel.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/NodeBitmask.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/NodeInfo.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/NodeState.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/RefConvert.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/kernel_types.h:
  Changed header to GPL version 2 only
ndb/include/kernel/ndb_limits.h:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/AbortAll.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/AccFrag.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/AccLock.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/AccScan.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/AccSizeAltReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/AlterIndx.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/AlterTab.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/AlterTable.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/AlterTrig.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/ApiBroadcast.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/ApiRegSignalData.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/ApiVersion.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/ArbitSignalData.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/trigger_definitions.h:
  Changed header to GPL version 2 only
ndb/include/ndb_constants.h:
  Changed header to GPL version 2 only
ndb/include/ndb_global.h.in:
  Changed header to GPL version 2 only
ndb/include/ndb_init.h:
  Changed header to GPL version 2 only
ndb/include/ndb_types.h.in:
  Changed header to GPL version 2 only
ndb/include/ndb_version.h.in:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/AttrInfo.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/BackupContinueB.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/BackupImpl.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/BackupSignalData.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/BlockCommitOrd.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/BuildIndx.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CheckNodeGroups.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CloseComReqConf.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CmInit.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CmRegSignalData.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CmvmiCfgConf.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CntrMasterConf.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CntrMasterReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/ConfigParamId.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/ContinueFragmented.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CopyActive.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CopyFrag.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CopyGCIReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CreateEvnt.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CreateFrag.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CreateFragmentation.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CreateIndx.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CreateTab.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CreateTable.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/CreateTrig.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DiAddTab.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DiGetNodes.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DictLock.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DictSchemaInfo.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DictSizeAltReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DictStart.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DictTabInfo.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DihAddFrag.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DihContinueB.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DihSizeAltReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DihStartTab.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DihSwitchReplica.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DisconnectRep.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DropIndx.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DropTab.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DropTabFile.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DropTable.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DropTrig.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/DumpStateOrd.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/EmptyLcp.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/EndTo.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/EventReport.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/EventSubscribeReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/ExecFragReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/FailRep.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/FireTrigOrd.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/FsAppendReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/FsCloseReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/FsConf.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/FsOpenReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/FsReadWriteReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/FsRef.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/FsRemoveReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/GCPSave.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/GetTabInfo.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/GetTableId.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/GrepImpl.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/HotSpareRep.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/IndxAttrInfo.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/IndxKeyInfo.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/InvalidateNodeLCPConf.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/InvalidateNodeLCPReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/KeyInfo.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/LCP.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/ListTables.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/LqhFrag.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/LqhKey.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/LqhSizeAltReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/LqhTransConf.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/ManagementServer.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/MasterGCP.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/MasterLCP.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/NFCompleteRep.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/NdbSttor.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/NdbfsContinueB.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/NextScan.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/NodeFailRep.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/NodeStateSignalData.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/PackedSignal.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/PrepDropTab.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/PrepFailReqRef.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/ReadNodesConf.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/RelTabMem.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/RepImpl.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/ResumeReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/ScanFrag.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/ScanTab.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/SetLogLevelOrd.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/SetVarReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/SignalData.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/SignalDataPrint.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/SignalDroppedRep.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/SrFragidConf.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/StartFragReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/StartInfo.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/StartMe.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/StartOrd.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/StartPerm.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/StartRec.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/StartTo.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/StopMe.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/StopPerm.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/StopReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/SumaImpl.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/SystemError.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TamperOrd.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TcCommit.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TcContinueB.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TcHbRep.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TcIndx.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TcKeyConf.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TcKeyFailConf.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TcKeyRef.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TcKeyReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TcRollbackRep.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TcSizeAltReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TestOrd.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TransIdAI.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TrigAttrInfo.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TupCommit.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TupFrag.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TupKey.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TupSizeAltReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TuxBound.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TuxContinueB.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TuxMaint.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/TuxSizeAltReq.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/UpdateTo.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/UtilDelete.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/UtilExecute.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/UtilLock.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/UtilPrepare.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/UtilRelease.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/UtilSequence.hpp:
  Changed header to GPL version 2 only
ndb/include/kernel/signaldata/WaitGCP.hpp:
  Changed header to GPL version 2 only
ndb/include/logger/ConsoleLogHandler.hpp:
  Changed header to GPL version 2 only
ndb/include/logger/FileLogHandler.hpp:
  Changed header to GPL version 2 only
ndb/include/logger/LogHandler.hpp:
  Changed header to GPL version 2 only
ndb/include/logger/Logger.hpp:
  Changed header to GPL version 2 only
ndb/include/logger/SysLogHandler.hpp:
  Changed header to GPL version 2 only
ndb/include/mgmapi/mgmapi.h:
  Changed header to GPL version 2 only
ndb/include/mgmapi/mgmapi_debug.h:
  Changed header to GPL version 2 only
ndb/include/mgmapi/ndb_logevent.h:
  Changed header to GPL version 2 only
ndb/include/mgmapi/ndbd_exit_codes.h:
  Changed header to GPL version 2 only
ndb/include/mgmcommon/ConfigRetriever.hpp:
  Changed header to GPL version 2 only
ndb/include/mgmcommon/IPCConfig.hpp:
  Changed header to GPL version 2 only
ndb/include/mgmcommon/MgmtErrorReporter.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/Ndb.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/NdbApi.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/NdbBlob.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/NdbDictionary.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/NdbError.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/NdbEventOperation.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/NdbIndexOperation.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/NdbIndexScanOperation.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/NdbOperation.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/NdbPool.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/NdbRecAttr.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/NdbReceiver.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/NdbScanFilter.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/NdbScanOperation.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/NdbTransaction.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/ndb_cluster_connection.hpp:
  Changed header to GPL version 2 only
ndb/include/ndbapi/ndb_opt_defaults.h:
  Changed header to GPL version 2 only
ndb/include/ndbapi/ndbapi_limits.h:
  Changed header to GPL version 2 only
ndb/include/ndbapi/ndberror.h:
  Changed header to GPL version 2 only
ndb/include/newtonapi/dba.h:
  Changed header to GPL version 2 only
ndb/include/newtonapi/defs/pcn_types.h:
  Changed header to GPL version 2 only
ndb/include/portlib/NdbCondition.h:
  Changed header to GPL version 2 only
ndb/include/portlib/NdbConfig.h:
  Changed header to GPL version 2 only
ndb/include/portlib/NdbDaemon.h:
  Changed header to GPL version 2 only
ndb/include/portlib/NdbEnv.h:
  Changed header to GPL version 2 only
ndb/include/portlib/NdbHost.h:
  Changed header to GPL version 2 only
ndb/include/portlib/NdbMain.h:
  Changed header to GPL version 2 only
ndb/include/portlib/NdbMem.h:
  Changed header to GPL version 2 only
ndb/include/portlib/NdbMutex.h:
  Changed header to GPL version 2 only
ndb/include/portlib/NdbSleep.h:
  Changed header to GPL version 2 only
ndb/include/portlib/NdbTCP.h:
  Changed header to GPL version 2 only
ndb/include/portlib/NdbThread.h:
  Changed header to GPL version 2 only
ndb/include/portlib/NdbTick.h:
  Changed header to GPL version 2 only
ndb/include/portlib/PortDefs.h:
  Changed header to GPL version 2 only
ndb/include/portlib/prefetch.h:
  Changed header to GPL version 2 only
ndb/include/transporter/TransporterCallback.hpp:
  Changed header to GPL version 2 only
ndb/include/transporter/TransporterDefinitions.hpp:
  Changed header to GPL version 2 only
ndb/include/transporter/TransporterRegistry.hpp:
  Changed header to GPL version 2 only
ndb/include/util/BaseString.hpp:
  Changed header to GPL version 2 only
ndb/include/util/Bitmask.hpp:
  Changed header to GPL version 2 only
ndb/include/util/File.hpp:
  Changed header to GPL version 2 only
ndb/include/util/InputStream.hpp:
  Changed header to GPL version 2 only
ndb/include/util/NdbAutoPtr.hpp:
  Changed header to GPL version 2 only
ndb/include/util/NdbOut.hpp:
  Changed header to GPL version 2 only
ndb/include/util/NdbSqlUtil.hpp:
  Changed header to GPL version 2 only
ndb/include/util/OutputStream.hpp:
  Changed header to GPL version 2 only
ndb/include/util/Parser.hpp:
  Changed header to GPL version 2 only
ndb/include/util/Properties.hpp:
  Changed header to GPL version 2 only
ndb/include/util/SimpleProperties.hpp:
  Changed header to GPL version 2 only
ndb/include/util/SocketAuthenticator.hpp:
  Changed header to GPL version 2 only
ndb/include/util/SocketClient.hpp:
  Changed header to GPL version 2 only
ndb/include/util/SocketServer.hpp:
  Changed header to GPL version 2 only
ndb/include/util/UtilBuffer.hpp:
  Changed header to GPL version 2 only
ndb/include/util/Vector.hpp:
  Changed header to GPL version 2 only
ndb/include/util/basestring_vsnprintf.h:
  Changed header to GPL version 2 only
ndb/include/util/md5_hash.hpp:
  Changed header to GPL version 2 only
ndb/include/util/ndb_opts.h:
  Changed header to GPL version 2 only
ndb/include/util/random.h:
  Changed header to GPL version 2 only
ndb/include/util/socket_io.h:
  Changed header to GPL version 2 only
ndb/include/util/uucode.h:
  Changed header to GPL version 2 only
ndb/include/util/version.h:
  Changed header to GPL version 2 only
ndb/ndbapi-examples/mgmapi_logevent_example/mgmapi_logevent.cpp:
  Changed header to GPL version 2 only
ndb/ndbapi-examples/ndbapi_async_example/ndbapi_async.cpp:
  Changed header to GPL version 2 only
ndb/ndbapi-examples/ndbapi_async_example1/ndbapi_async1.cpp:
  Changed header to GPL version 2 only
ndb/ndbapi-examples/ndbapi_event_example/ndbapi_event.cpp:
  Changed header to GPL version 2 only
ndb/ndbapi-examples/ndbapi_retries_example/ndbapi_retries.cpp:
  Changed header to GPL version 2 only
ndb/ndbapi-examples/ndbapi_scan_example/ndbapi_scan.cpp:
  Changed header to GPL version 2 only
ndb/ndbapi-examples/ndbapi_simple_example/ndbapi_simple.cpp:
  Changed header to GPL version 2 only
ndb/ndbapi-examples/ndbapi_simple_index_example/ndbapi_simple_index.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/BlockNames.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/DebuggerNames.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/EventLogger.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/GrepError.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/SignalLoggerManager.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/AccLock.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/AlterIndx.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/AlterTab.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/AlterTable.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/AlterTrig.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/BackupImpl.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/BackupSignalData.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/CloseComReqConf.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/ContinueB.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/CopyGCI.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/CreateEvnt.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/CreateFragmentation.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/CreateIndx.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/CreateTrig.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/DictTabInfo.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/DihContinueB.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/DihSwitchReplicaReq.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/DisconnectRep.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/DropIndx.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/DropTab.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/DropTrig.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/FailRep.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/FireTrigOrd.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/FsAppendReq.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/FsCloseReq.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/FsConf.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/FsOpenReq.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/FsReadWriteReq.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/FsRef.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/GCPSave.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/IndxAttrInfo.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/IndxKeyInfo.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/LCP.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/LqhFrag.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/LqhKey.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/LqhTrans.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/MasterLCP.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/NFCompleteRep.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/NdbSttor.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/NdbfsContinueB.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/PackedSignal.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/PrepDropTab.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/PrepFailReqRef.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/ScanFrag.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/ScanTab.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/SignalDataPrint.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/SignalDroppedRep.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/SignalNames.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/StartRec.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/SumaImpl.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/SystemError.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/TcIndx.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/TcKeyConf.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/TcKeyRef.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/TcKeyReq.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/TcRollbackRep.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/TrigAttrInfo.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/TupCommit.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/TupKey.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/TuxMaint.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/UtilDelete.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/UtilExecute.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/UtilLock.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/UtilPrepare.cpp:
  Changed header to GPL version 2 only
ndb/src/common/debugger/signaldata/UtilSequence.cpp:
  Changed header to GPL version 2 only
ndb/src/common/logger/ConsoleLogHandler.cpp:
  Changed header to GPL version 2 only
ndb/src/common/logger/FileLogHandler.cpp:
  Changed header to GPL version 2 only
ndb/src/common/logger/LogHandler.cpp:
  Changed header to GPL version 2 only
ndb/src/common/logger/LogHandlerList.cpp:
  Changed header to GPL version 2 only
ndb/src/common/logger/LogHandlerList.hpp:
  Changed header to GPL version 2 only
ndb/src/common/logger/Logger.cpp:
  Changed header to GPL version 2 only
ndb/src/common/logger/SysLogHandler.cpp:
  Changed header to GPL version 2 only
ndb/src/common/logger/listtest/LogHandlerListUnitTest.cpp:
  Changed header to GPL version 2 only
ndb/src/common/logger/listtest/LogHandlerListUnitTest.hpp:
  Changed header to GPL version 2 only
ndb/src/common/logger/loggertest/LoggerUnitTest.cpp:
  Changed header to GPL version 2 only
ndb/src/common/logger/loggertest/LoggerUnitTest.hpp:
  Changed header to GPL version 2 only
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  Changed header to GPL version 2 only
ndb/src/common/mgmcommon/IPCConfig.cpp:
  Changed header to GPL version 2 only
ndb/src/common/mgmcommon/printConfig/printConfig.cpp:
  Changed header to GPL version 2 only
ndb/src/common/portlib/NdbCondition.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/NdbConfig.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/NdbDaemon.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/NdbEnv.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/NdbHost.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/NdbMem.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/NdbMutex.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/NdbPortLibTest.cpp:
  Changed header to GPL version 2 only
ndb/src/common/portlib/NdbSleep.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/NdbTCP.cpp:
  Changed header to GPL version 2 only
ndb/src/common/portlib/NdbThread.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/NdbTick.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/memtest.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/mmslist.cpp:
  Changed header to GPL version 2 only
ndb/src/common/portlib/mmstest.cpp:
  Changed header to GPL version 2 only
ndb/src/common/portlib/munmaptest.cpp:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/ose/NdbCondition.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/ose/NdbConditionOSE.h:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/ose/NdbEnv.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/ose/NdbHost.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/ose/NdbMem.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/ose/NdbMem_SoftOse.cpp:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/ose/NdbMutex.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/ose/NdbOut.cpp:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/ose/NdbSleep.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/ose/NdbTCP.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/ose/NdbThread.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/ose/NdbTick.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/win32/NdbCondition.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/win32/NdbDaemon.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/win32/NdbEnv.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/win32/NdbHost.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/win32/NdbMem.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/win32/NdbMutex.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/win32/NdbSleep.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/win32/NdbTCP.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/win32/NdbThread.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/old_dirs/win32/NdbTick.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/win32/NdbCondition.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/win32/NdbDaemon.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/win32/NdbEnv.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/win32/NdbHost.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/win32/NdbMem.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/win32/NdbMutex.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/win32/NdbSleep.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/win32/NdbTCP.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/win32/NdbThread.c:
  Changed header to GPL version 2 only
ndb/src/common/portlib/win32/NdbTick.c:
  Changed header to GPL version 2 only
ndb/src/common/transporter/OSE_Receiver.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/OSE_Receiver.hpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/OSE_Signals.hpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/OSE_Transporter.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/OSE_Transporter.hpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/Packer.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/Packer.hpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/SCI_Transporter.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/SCI_Transporter.hpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/SHM_Buffer.hpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/SHM_Transporter.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/SHM_Transporter.hpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/SHM_Transporter.unix.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/SHM_Transporter.win32.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/SendBuffer.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/SendBuffer.hpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/TCP_Transporter.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/TCP_Transporter.hpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/Transporter.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/Transporter.hpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/TransporterInternalDefinitions.hpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/TransporterRegistry.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/basictest/basicTransporterTest.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/buddy.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/buddy.hpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/failoverSCI/failoverSCI.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/perftest/perfTransporterTest.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/priotest/prioSCI/prioSCI.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/priotest/prioSHM/prioSHM.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/priotest/prioTCP/prioTCP.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/priotest/prioTransporterTest.cpp:
  Changed header to GPL version 2 only
ndb/src/common/transporter/priotest/prioTransporterTest.hpp:
  Changed header to GPL version 2 only
ndb/src/common/util/BaseString.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/File.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/InputStream.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/NdbErrHnd.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/NdbOut.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/NdbSqlUtil.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/OutputStream.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/Parser.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/Properties.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/SimpleProperties.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/SocketAuthenticator.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/SocketClient.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/SocketServer.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/basestring_vsnprintf.c:
  Changed header to GPL version 2 only
ndb/src/common/util/filetest/FileUnitTest.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/filetest/FileUnitTest.hpp:
  Changed header to GPL version 2 only
ndb/src/common/util/md5_hash.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/ndb_init.c:
  Changed header to GPL version 2 only
ndb/src/common/util/random.c:
  Changed header to GPL version 2 only
ndb/src/common/util/socket_io.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/strdup.c:
  Changed header to GPL version 2 only
ndb/src/common/util/testProperties/testProperties.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/testSimpleProperties/sp_test.cpp:
  Changed header to GPL version 2 only
ndb/src/common/util/uucode.c:
  Changed header to GPL version 2 only
ndb/src/common/util/version.c:
  Changed header to GPL version 2 only
ndb/src/cw/cpcc-win32/C++/CPC_GUI.cpp:
  Changed header to GPL version 2 only
ndb/src/cw/cpcc-win32/C++/CPC_GUI.h:
  Changed header to GPL version 2 only
ndb/src/cw/cpcc-win32/C++/NdbControls.cpp:
  Changed header to GPL version 2 only
ndb/src/cw/cpcc-win32/C++/StdAfx.cpp:
  Changed header to GPL version 2 only
ndb/src/cw/cpcc-win32/C++/StdAfx.h:
  Changed header to GPL version 2 only
ndb/src/cw/cpcc-win32/C++/TreeView.cpp:
  Changed header to GPL version 2 only
ndb/src/cw/cpcc-win32/C++/TreeView.h:
  Changed header to GPL version 2 only
ndb/src/cw/cpcc-win32/C++/resource.h:
  Changed header to GPL version 2 only
ndb/src/cw/cpcd/APIService.cpp:
  Changed header to GPL version 2 only
ndb/src/cw/cpcd/APIService.hpp:
  Changed header to GPL version 2 only
ndb/src/cw/cpcd/CPCD.cpp:
  Changed header to GPL version 2 only
ndb/src/cw/cpcd/CPCD.hpp:
  Changed header to GPL version 2 only
ndb/src/cw/cpcd/Monitor.cpp:
  Changed header to GPL version 2 only
ndb/src/cw/cpcd/Process.cpp:
  Changed header to GPL version 2 only
ndb/src/cw/cpcd/common.cpp:
  Changed header to GPL version 2 only
ndb/src/cw/cpcd/common.hpp:
  Changed header to GPL version 2 only
ndb/src/cw/cpcd/main.cpp:
  Changed header to GPL version 2 only
ndb/src/cw/test/socketclient/socketClientTest.cpp:
  Changed header to GPL version 2 only
ndb/src/cw/util/ClientInterface.cpp:
  Changed header to GPL version 2 only
ndb/src/cw/util/ClientInterface.hpp:
  Changed header to GPL version 2 only
ndb/src/cw/util/SocketRegistry.cpp:
  Changed header to GPL version 2 only
ndb/src/cw/util/SocketRegistry.hpp:
  Changed header to GPL version 2 only
ndb/src/cw/util/SocketService.cpp:
  Changed header to GPL version 2 only
ndb/src/cw/util/SocketService.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/SimBlockList.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/backup/Backup.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/backup/Backup.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/backup/BackupFormat.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/backup/BackupInit.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/backup/FsBuffer.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/backup/read.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/cmvmi/Cmvmi.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbacc/Dbacc.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbacc/DbaccInit.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/mutexes.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/main.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbdict/SchemaFile.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbdih/DbdihInit.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbdih/Sysfile.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbdih/printSysfile/printSysfile.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dblqh/DblqhInit.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dblqh/redoLogReader/records.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dblqh/redoLogReader/records.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dblqh/redoLogReader/redoLogFileReader.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtc/DbtcInit.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/AttributeOffset.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupBuffer.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupDebug.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupLCP.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupStoredProcDef.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupSystemRestart.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupTabDesMan.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtup/DbtupUndoLog.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtux/Dbtux.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtux/DbtuxCmp.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtux/DbtuxDebug.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtux/DbtuxGen.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtux/DbtuxMaint.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtux/DbtuxMeta.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtux/DbtuxSearch.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbutil/DbUtil.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/dbutil/DbUtil.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbcntr/NdbcntrInit.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbcntr/NdbcntrSysTable.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/AsyncFileTest/AsyncFileTest.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/CircularIndex.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/CircularIndex.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/Filename.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/Filename.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/MemoryChannel.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/MemoryChannel.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/MemoryChannelOSE.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/MemoryChannelTest/MemoryChannelTest.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/Ndbfs.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/OpenFiles.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/Pool.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/ndbfs/VoidFs.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/qmgr/QmgrInit.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/qmgr/timer.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/suma/Suma.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/suma/Suma.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/suma/SumaInit.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/trix/Trix.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/blocks/trix/Trix.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/error/ErrorHandlingMacros.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/error/ErrorReporter.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/error/ErrorReporter.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/error/TimeModule.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/error/TimeModule.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/error/ndbd_exit_codes.c:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/Array.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/ArrayFifoList.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/ArrayList.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/ArrayPool.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/CArray.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/Callback.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/ClusterConfiguration.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/ClusterConfiguration.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/Configuration.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/Configuration.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/DLFifoList.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/DLHashTable.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/DLHashTable2.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/DLList.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/DataBuffer.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/Emulator.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/Emulator.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/FastScheduler.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/FastScheduler.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/GlobalData.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/KeyDescriptor.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/KeyTable.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/KeyTable2.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/LongSignal.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/MetaData.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/MetaData.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/Mutex.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/Mutex.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/Prio.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/RequestTracker.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/SLList.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/SafeCounter.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/SafeCounter.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/SectionReader.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/SectionReader.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/SignalCounter.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/SimBlockList.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/SimplePropertiesSection.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/SimulatedBlock.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/SimulatedBlock.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/SuperPool.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/SuperPool.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/ThreadConfig.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/ThreadConfig.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/TimeQueue.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/TimeQueue.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/TransporterCallback.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/VMSignal.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/VMSignal.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/WaitQueue.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/WatchDog.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/WatchDog.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/al_test/arrayListTest.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/al_test/arrayPoolTest.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/al_test/main.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/ndbd_malloc.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/ndbd_malloc.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/pc.hpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/testCopy/rr.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/testCopy/testCopy.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/testDataBuffer/testDataBuffer.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/testLongSig/testLongSig.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/testSimplePropertiesSection/test.cpp:
  Changed header to GPL version 2 only
ndb/src/kernel/vm/testSuperPool.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmapi/LocalConfig.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmapi/LocalConfig.hpp:
  Changed header to GPL version 2 only
ndb/src/mgmapi/mgmapi.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmapi/mgmapi_configuration.hpp:
  Changed header to GPL version 2 only
ndb/src/mgmapi/mgmapi_internal.h:
  Changed header to GPL version 2 only
ndb/src/mgmapi/ndb_logevent.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmapi/ndb_logevent.hpp:
  Changed header to GPL version 2 only
ndb/src/mgmapi/test/keso.c:
  Changed header to GPL version 2 only
ndb/src/mgmapi/test/mgmSrvApi.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmclient/CommandInterpreter.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmclient/main.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmclient/ndb_mgmclient.hpp:
  Changed header to GPL version 2 only
ndb/src/mgmclient/ndb_mgmclient.h:
  Changed header to GPL version 2 only
ndb/src/mgmclient/test_cpcd/test_cpcd.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/Config.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/Config.hpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/ConfigInfo.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/ConfigInfo.hpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/InitConfigFileParser.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/InitConfigFileParser.hpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/MgmtSrvr.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/MgmtSrvr.hpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/MgmtSrvrConfig.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/MgmtSrvrGeneralSignalHandling.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/Services.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/Services.hpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/SignalQueue.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/SignalQueue.hpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/convertStrToInt.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/convertStrToInt.hpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/main.cpp:
  Changed header to GPL version 2 only
ndb/src/mgmsrv/mkconfig/mkconfig.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/API.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/ClusterMgr.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/ClusterMgr.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/DictCache.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/DictCache.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/Ndb.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbApiSignal.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbApiSignal.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbBlob.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbBlobImpl.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbDictionary.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbErrorOut.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbEventOperation.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbEventOperationImpl.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbEventOperationImpl.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbImpl.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbIndexOperation.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbLinHash.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbOperation.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbOperationDefine.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbOperationExec.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbOperationInt.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbOperationScan.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbOperationSearch.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbPool.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbPoolImpl.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbPoolImpl.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbRecAttr.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbReceiver.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbScanFilter.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbScanOperation.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbTransaction.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbTransactionScan.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbUtil.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbUtil.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/NdbWaiter.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/Ndberr.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/Ndbif.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/Ndbinit.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/Ndblist.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/ObjectMap.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/SignalSender.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/SignalSender.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/TransporterFacade.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/TransporterFacade.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/ndb_cluster_connection.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/ndb_cluster_connection_impl.hpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/ndberror.c:
  Changed header to GPL version 2 only
ndb/src/ndbapi/signal-sender/SignalSender.cpp:
  Changed header to GPL version 2 only
ndb/src/ndbapi/signal-sender/SignalSender.hpp:
  Changed header to GPL version 2 only
ndb/test/include/CpcClient.hpp:
  Changed header to GPL version 2 only
ndb/test/include/HugoAsynchTransactions.hpp:
  Changed header to GPL version 2 only
ndb/test/include/HugoCalculator.hpp:
  Changed header to GPL version 2 only
ndb/test/include/HugoOperations.hpp:
  Changed header to GPL version 2 only
ndb/test/include/HugoTransactions.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NDBT.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NDBT_DataSet.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NDBT_DataSetTransaction.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NDBT_Error.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NDBT_Output.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NDBT_ResultRow.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NDBT_ReturnCodes.h:
  Changed header to GPL version 2 only
ndb/test/include/NDBT_Stats.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NDBT_Table.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NDBT_Tables.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NDBT_Test.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NdbBackup.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NdbConfig.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NdbGrep.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NdbRestarter.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NdbRestarts.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NdbSchemaCon.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NdbSchemaOp.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NdbTest.hpp:
  Changed header to GPL version 2 only
ndb/test/include/NdbTimer.hpp:
  Changed header to GPL version 2 only
ndb/test/include/TestNdbEventOperation.hpp:
  Changed header to GPL version 2 only
ndb/test/include/UtilTransactions.hpp:
  Changed header to GPL version 2 only
ndb/test/include/getarg.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/InsertRecs.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/ScanFilter.hpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/ScanFunctions.hpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/ScanInterpretTest.hpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/TraceNdbApi.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/VerifyNdbApi.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/acid.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/acid2.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/adoInsertRecs.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/asyncGenerator.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/benchronja.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bulk_copy.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/cdrserver.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/celloDb.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/create_all_tabs.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/create_tab.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/drop_all_tabs.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/flexAsynch.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/flexBench.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/flexHammer.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/flexScan.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/flexTT.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/flexTimedAsynch.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/flex_bench_mysql.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/index.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/index2.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/initronja.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/interpreterInTup.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/mainAsyncGenerator.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/msa.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/ndb_async1.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/ndb_async2.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/ndb_user_populate.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/ndb_user_transaction.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/ndb_user_transaction2.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/ndb_user_transaction3.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/ndb_user_transaction4.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/ndb_user_transaction5.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/ndb_user_transaction6.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/restarter.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/restarter2.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/restarts.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/size.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testBackup.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testBasic.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testBasicAsynch.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testBlobs.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testDataBuffers.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testDeadlock.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testDict.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testGrepVerify.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testIndex.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testInterpreter.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testMgm.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testNdbApi.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testNodeRestart.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testOIBasic.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testOperations.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testOrderedIndex.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testPartitioning.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testReadPerf.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testRestartGci.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testSRBank.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testScan.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testScanInterpreter.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testScanPerf.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testSystemRestart.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bank/Bank.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bank/Bank.hpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bank/BankLoad.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bank/bankCreator.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bank/bankMakeGL.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bank/bankSumAccounts.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bank/bankTimer.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bank/bankTransactionMaker.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bank/bankValidateAllGLs.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bank/testBank.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/asyncGenerator.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/dbGenerator.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/dbPopulate.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/dbPopulate.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/macros.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/mainAsyncGenerator.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/mainPopulate.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/ndb_async1.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/ndb_async2.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/ndb_error.hpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/ndb_schema.hpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/ndb_user_transaction.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/ndb_user_transaction2.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/ndb_user_transaction3.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/ndb_user_transaction4.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/ndb_user_transaction5.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/ndb_user_transaction6.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/testData.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/testDefinitions.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/userInterface.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/bench/userInterface.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/acid2/TraceNdbApi.hpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/acid2/VerifyNdbApi.hpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/async-src/include/dbGenerator.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/async-src/include/testData.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/async-src/include/userInterface.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/async-src/user/macros.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/async-src/user/ndb_error.hpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/include/ndb_schema.hpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/include/testDefinitions.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/generator/dbGenerator.c:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/generator/dbGenerator.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/generator/mainGenerator.c:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/include/testData.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/include/userInterface.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/populator/dbPopulate.c:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/populator/dbPopulate.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/populator/mainPopulate.c:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/user/localDbPrepare.c:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/user/macros.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/user/ndb_error.hpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/user/old/userHandle.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/user/old/userInterface.c:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/user/userHandle.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/user/userInterface.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/user/userTransaction.c:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testTimeout.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/testTransactions.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/test_event.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/test_event_merge.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/test_event_multi_table.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/userInterface.cpp:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/lmc-bench/src/user/old/userTransaction.c:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/vw_test/bcd.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/vw_test/utv.h:
  Changed header to GPL version 2 only
ndb/test/ndbapi/old_dirs/vw_test/vcdrfunc.h:
  Changed header to GPL version 2 only
ndb/test/newtonapi/basic_test/basic/basic.cpp:
  Changed header to GPL version 2 only
ndb/test/newtonapi/basic_test/bulk_read/br_test.cpp:
  Changed header to GPL version 2 only
ndb/test/newtonapi/basic_test/common.cpp:
  Changed header to GPL version 2 only
ndb/test/newtonapi/basic_test/common.hpp:
  Changed header to GPL version 2 only
ndb/test/newtonapi/basic_test/ptr_binding/ptr_binding_test.cpp:
  Changed header to GPL version 2 only
ndb/test/newtonapi/basic_test/too_basic.cpp:
  Changed header to GPL version 2 only
ndb/test/newtonapi/perf_test/perf.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/SQL99_test/SQL99_test.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/SQL99_test/SQL99_test.h:
  Changed header to GPL version 2 only
ndb/test/odbc/client/NDBT_ALLOCHANDLE.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/NDBT_ALLOCHANDLE_HDBC.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/NDBT_SQLConnect.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/NDBT_SQLPrepare.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLAllocEnvTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLAllocHandleTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLAllocHandleTest_bf.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLBindColTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLBindParameterTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLCancelTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLCloseCursorTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLColAttributeTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLColAttributeTest1.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLColAttributeTest2.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLColAttributeTest3.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLConnectTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLCopyDescTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLDescribeColTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLDisconnectTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLDriverConnectTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLEndTranTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLErrorTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLExecDirectTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLExecuteTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLFetchScrollTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLFetchTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLFreeHandleTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLFreeStmtTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLGetConnectAttrTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLGetCursorNameTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLGetDataTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLGetDescFieldTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLGetDescRecTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLGetDiagFieldTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLGetDiagRecSimpleTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLGetDiagRecTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLGetEnvAttrTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLGetFunctionsTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLGetInfoTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLGetStmtAttrTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLGetTypeInfoTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLMoreResultsTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLNumResultColsTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLParamDataTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLPrepareTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLPutDataTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLRowCountTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLSetConnectAttrTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLSetCursorNameTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLSetDescFieldTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLSetDescRecTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLSetEnvAttrTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLSetStmtAttrTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLTablesTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/SQLTransactTest.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/common.hpp:
  Changed header to GPL version 2 only
ndb/test/odbc/client/main.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/driver/testOdbcDriver.cpp:
  Changed header to GPL version 2 only
ndb/test/odbc/test_compiler/test_compiler.cpp:
  Changed header to GPL version 2 only
ndb/test/run-test/main.cpp:
  Changed header to GPL version 2 only
ndb/test/run-test/run-test.hpp:
  Changed header to GPL version 2 only
ndb/test/src/CpcClient.cpp:
  Changed header to GPL version 2 only
ndb/test/src/HugoAsynchTransactions.cpp:
  Changed header to GPL version 2 only
ndb/test/src/HugoCalculator.cpp:
  Changed header to GPL version 2 only
ndb/test/src/HugoOperations.cpp:
  Changed header to GPL version 2 only
ndb/test/src/HugoTransactions.cpp:
  Changed header to GPL version 2 only
ndb/test/src/NDBT_Error.cpp:
  Changed header to GPL version 2 only
ndb/test/src/NDBT_Output.cpp:
  Changed header to GPL version 2 only
ndb/test/src/NDBT_ResultRow.cpp:
  Changed header to GPL version 2 only
ndb/test/src/NDBT_ReturnCodes.cpp:
  Changed header to GPL version 2 only
ndb/test/src/NDBT_Table.cpp:
  Changed header to GPL version 2 only
ndb/test/src/NDBT_Tables.cpp:
  Changed header to GPL version 2 only
ndb/test/src/NDBT_Test.cpp:
  Changed header to GPL version 2 only
ndb/test/src/NdbBackup.cpp:
  Changed header to GPL version 2 only
ndb/test/src/NdbConfig.cpp:
  Changed header to GPL version 2 only
ndb/test/src/NdbGrep.cpp:
  Changed header to GPL version 2 only
ndb/test/src/NdbRestarter.cpp:
  Changed header to GPL version 2 only
ndb/test/src/NdbRestarts.cpp:
  Changed header to GPL version 2 only
ndb/test/src/NdbSchemaCon.cpp:
  Changed header to GPL version 2 only
ndb/test/src/NdbSchemaOp.cpp:
  Changed header to GPL version 2 only
ndb/test/src/UtilTransactions.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/copy_tab.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/cpcc.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/create_index.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/hugoCalculator.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/hugoFill.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/hugoLoad.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/hugoLockRecords.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/hugoPkDelete.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/hugoPkRead.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/hugoPkReadRecord.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/hugoPkUpdate.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/hugoScanRead.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/hugoScanUpdate.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/old_dirs/waiter/waiter.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/restart.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/transproxy.cpp:
  Changed header to GPL version 2 only
ndb/test/tools/verify_index.cpp:
  Changed header to GPL version 2 only
ndb/tools/delete_all.cpp:
  Changed header to GPL version 2 only
ndb/tools/desc.cpp:
  Changed header to GPL version 2 only
ndb/tools/drop_index.cpp:
  Changed header to GPL version 2 only
ndb/tools/drop_tab.cpp:
  Changed header to GPL version 2 only
ndb/tools/listTables.cpp:
  Changed header to GPL version 2 only
ndb/tools/ndb_config.cpp:
  Changed header to GPL version 2 only
ndb/tools/ndb_test_platform.cpp:
  Changed header to GPL version 2 only
ndb/tools/ndbsql.cpp:
  Changed header to GPL version 2 only
ndb/tools/restore/Restore.cpp:
  Changed header to GPL version 2 only
ndb/tools/restore/Restore.hpp:
  Changed header to GPL version 2 only
ndb/tools/restore/consumer.cpp:
  Changed header to GPL version 2 only
ndb/tools/restore/consumer.hpp:
  Changed header to GPL version 2 only
ndb/tools/restore/consumer_printer.cpp:
  Changed header to GPL version 2 only
ndb/tools/restore/consumer_printer.hpp:
  Changed header to GPL version 2 only
ndb/tools/restore/consumer_restore.cpp:
  Changed header to GPL version 2 only
ndb/tools/restore/consumer_restore.hpp:
  Changed header to GPL version 2 only
ndb/tools/select_all.cpp:
  Changed header to GPL version 2 only
ndb/tools/select_count.cpp:
  Changed header to GPL version 2 only
ndb/tools/waiter.cpp:
  Changed header to GPL version 2 only
ndb/tools/restore/consumer_restorem.cpp:
  Changed header to GPL version 2 only
ndb/tools/restore/restore_main.cpp:
  Changed header to GPL version 2 only
netware/mysql_fix_privilege_tables.pl:
  Changed header to GPL version 2 only
netware/mysql_secure_installation.pl:
  Changed header to GPL version 2 only
os2/Makefile.am:
  Changed header to GPL version 2 only
os2/include/Makefile.am:
  Changed header to GPL version 2 only
os2/include/sys/Makefile.am:
  Changed header to GPL version 2 only
pstack/Makefile.am:
  Changed header to GPL version 2 only
regex/Makefile.am:
  Changed header to GPL version 2 only
scripts/Makefile.am:
  Changed header to GPL version 2 only
scripts/fill_help_tables.sh:
  Changed header to GPL version 2 only
scripts/mysql_config.sh:
  Changed header to GPL version 2 only
scripts/mysql_secure_installation.sh:
  Changed header to GPL version 2 only
server-tools/instance-manager/Makefile.am:
  Changed header to GPL version 2 only
server-tools/instance-manager/buffer.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/buffer.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/command.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/command.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/commands.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/commands.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/guardian.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/guardian.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/instance.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/instance.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/instance_map.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/instance_map.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/instance_options.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/instance_options.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/listener.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/listener.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/log.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/log.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/manager.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/manager.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/messages.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/messages.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/mysql_connection.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/mysql_connection.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/mysql_manager_error.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/mysqlmanager.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/options.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/options.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/parse.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/parse.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/parse_output.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/parse_output.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/priv.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/priv.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/protocol.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/protocol.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/thread_registry.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/thread_registry.h:
  Changed header to GPL version 2 only
server-tools/instance-manager/user_map.cc:
  Changed header to GPL version 2 only
server-tools/instance-manager/user_map.h:
  Changed header to GPL version 2 only
sql/Makefile.am:
  Changed header to GPL version 2 only
sql/client_settings.h:
  Changed header to GPL version 2 only
sql/custom_conf.h:
  Changed header to GPL version 2 only
sql/derror.cc:
  Changed header to GPL version 2 only
sql/des_key_file.cc:
  Changed header to GPL version 2 only
sql/discover.cc:
  Changed header to GPL version 2 only
sql/field.cc:
  Changed header to GPL version 2 only
sql/field.h:
  Changed header to GPL version 2 only
sql/field_conv.cc:
  Changed header to GPL version 2 only
sql/filesort.cc:
  Changed header to GPL version 2 only
sql/frm_crypt.cc:
  Changed header to GPL version 2 only
sql/gen_lex_hash.cc:
  Changed header to GPL version 2 only
sql/gstream.cc:
  Changed header to GPL version 2 only
sql/gstream.h:
  Changed header to GPL version 2 only
sql/ha_archive.cc:
  Changed header to GPL version 2 only
sql/ha_archive.h:
  Changed header to GPL version 2 only
sql/ha_berkeley.cc:
  Changed header to GPL version 2 only
sql/ha_berkeley.h:
  Changed header to GPL version 2 only
sql/ha_blackhole.cc:
  Changed header to GPL version 2 only
sql/ha_blackhole.h:
  Changed header to GPL version 2 only
sql/ha_federated.cc:
  Changed header to GPL version 2 only
sql/ha_federated.h:
  Changed header to GPL version 2 only
sql/ha_heap.cc:
  Changed header to GPL version 2 only
sql/ha_heap.h:
  Changed header to GPL version 2 only
sql/ha_innodb.cc:
  Changed header to GPL version 2 only
sql/ha_innodb.h:
  Changed header to GPL version 2 only
sql/ha_myisam.cc:
  Changed header to GPL version 2 only
sql/ha_myisam.h:
  Changed header to GPL version 2 only
sql/ha_myisammrg.cc:
  Changed header to GPL version 2 only
sql/ha_myisammrg.h:
  Changed header to GPL version 2 only
sql/ha_ndbcluster.cc:
  Changed header to GPL version 2 only
sql/ha_ndbcluster.h:
  Changed header to GPL version 2 only
sql/handler.cc:
  Changed header to GPL version 2 only
sql/handler.h:
  Changed header to GPL version 2 only
sql/hash_filo.cc:
  Changed header to GPL version 2 only
sql/hash_filo.h:
  Changed header to GPL version 2 only
sql/hostname.cc:
  Changed header to GPL version 2 only
sql/init.cc:
  Changed header to GPL version 2 only
sql/item.cc:
  Changed header to GPL version 2 only
sql/item.h:
  Changed header to GPL version 2 only
sql/item_buff.cc:
  Changed header to GPL version 2 only
sql/item_cmpfunc.cc:
  Changed header to GPL version 2 only
sql/item_cmpfunc.h:
  Changed header to GPL version 2 only
sql/item_create.cc:
  Changed header to GPL version 2 only
sql/item_create.h:
  Changed header to GPL version 2 only
sql/item_func.cc:
  Changed header to GPL version 2 only
sql/item_func.h:
  Changed header to GPL version 2 only
sql/item_geofunc.cc:
  Changed header to GPL version 2 only
sql/item_geofunc.h:
  Changed header to GPL version 2 only
sql/item_row.cc:
  Changed header to GPL version 2 only
sql/item_row.h:
  Changed header to GPL version 2 only
sql/item_strfunc.cc:
  Changed header to GPL version 2 only
sql/item_strfunc.h:
  Changed header to GPL version 2 only
sql/item_subselect.cc:
  Changed header to GPL version 2 only
sql/item_subselect.h:
  Changed header to GPL version 2 only
sql/item_sum.cc:
  Changed header to GPL version 2 only
sql/item_sum.h:
  Changed header to GPL version 2 only
sql/item_timefunc.cc:
  Changed header to GPL version 2 only
sql/item_timefunc.h:
  Changed header to GPL version 2 only
sql/item_uniq.cc:
  Changed header to GPL version 2 only
sql/item_uniq.h:
  Changed header to GPL version 2 only
sql/key.cc:
  Changed header to GPL version 2 only
sql/lex.h:
  Changed header to GPL version 2 only
sql/lex_symbol.h:
  Changed header to GPL version 2 only
sql/lock.cc:
  Changed header to GPL version 2 only
sql/log.cc:
  Changed header to GPL version 2 only
sql/log_event.cc:
  Changed header to GPL version 2 only
sql/log_event.h:
  Changed header to GPL version 2 only
sql/matherr.c:
  Changed header to GPL version 2 only
sql/mf_iocache.cc:
  Changed header to GPL version 2 only
sql/my_decimal.cc:
  Changed header to GPL version 2 only
sql/my_decimal.h:
  Changed header to GPL version 2 only
sql/my_lock.c:
  Changed header to GPL version 2 only
sql/mysql_priv.h:
  Changed header to GPL version 2 only
sql/mysqld.cc:
  Changed header to GPL version 2 only
sql/mysqld_suffix.h:
  Changed header to GPL version 2 only
sql/net_serv.cc:
  Changed header to GPL version 2 only
sql/opt_range.cc:
  Changed header to GPL version 2 only
sql/opt_range.h:
  Changed header to GPL version 2 only
sql/opt_sum.cc:
  Changed header to GPL version 2 only
sql/parse_file.cc:
  Changed header to GPL version 2 only
sql/parse_file.h:
  Changed header to GPL version 2 only
sql/password.c:
  Changed header to GPL version 2 only
sql/procedure.cc:
  Changed header to GPL version 2 only
sql/procedure.h:
  Changed header to GPL version 2 only
sql/protocol.cc:
  Changed header to GPL version 2 only
sql/protocol.h:
  Changed header to GPL version 2 only
sql/records.cc:
  Changed header to GPL version 2 only
sql/repl_failsafe.cc:
  Changed header to GPL version 2 only
sql/repl_failsafe.h:
  Changed header to GPL version 2 only
sql/set_var.cc:
  Changed header to GPL version 2 only
sql/set_var.h:
  Changed header to GPL version 2 only
sql/slave.cc:
  Changed header to GPL version 2 only
sql/slave.h:
  Changed header to GPL version 2 only
sql/sp.cc:
  Changed header to GPL version 2 only
sql/sp.h:
  Changed header to GPL version 2 only
sql/sp_cache.cc:
  Changed header to GPL version 2 only
sql/sp_cache.h:
  Changed header to GPL version 2 only
sql/sp_head.cc:
  Changed header to GPL version 2 only
sql/sp_head.h:
  Changed header to GPL version 2 only
sql/sp_pcontext.cc:
  Changed header to GPL version 2 only
sql/sp_pcontext.h:
  Changed header to GPL version 2 only
sql/sp_rcontext.cc:
  Changed header to GPL version 2 only
sql/sp_rcontext.h:
  Changed header to GPL version 2 only
sql/spatial.cc:
  Changed header to GPL version 2 only
sql/spatial.h:
  Changed header to GPL version 2 only
sql/sql_acl.cc:
  Changed header to GPL version 2 only
sql/sql_acl.h:
  Changed header to GPL version 2 only
sql/sql_analyse.cc:
  Changed header to GPL version 2 only
sql/sql_analyse.h:
  Changed header to GPL version 2 only
sql/sql_array.h:
  Changed header to GPL version 2 only
sql/sql_base.cc:
  Changed header to GPL version 2 only
sql/sql_bitmap.h:
  Changed header to GPL version 2 only
sql/sql_cache.cc:
  Changed header to GPL version 2 only
sql/sql_cache.h:
  Changed header to GPL version 2 only
sql/sql_class.cc:
  Changed header to GPL version 2 only
sql/sql_class.h:
  Changed header to GPL version 2 only
sql/sql_client.cc:
  Changed header to GPL version 2 only
sql/sql_crypt.cc:
  Changed header to GPL version 2 only
sql/sql_crypt.h:
  Changed header to GPL version 2 only
sql/sql_cursor.cc:
  Changed header to GPL version 2 only
sql/sql_cursor.h:
  Changed header to GPL version 2 only
sql/sql_db.cc:
  Changed header to GPL version 2 only
sql/sql_delete.cc:
  Changed header to GPL version 2 only
sql/sql_derived.cc:
  Changed header to GPL version 2 only
sql/sql_do.cc:
  Changed header to GPL version 2 only
sql/sql_error.cc:
  Changed header to GPL version 2 only
sql/sql_error.h:
  Changed header to GPL version 2 only
sql/sql_handler.cc:
  Changed header to GPL version 2 only
sql/sql_help.cc:
  Changed header to GPL version 2 only
sql/sql_insert.cc:
  Changed header to GPL version 2 only
sql/sql_lex.cc:
  Changed header to GPL version 2 only
sql/sql_lex.h:
  Changed header to GPL version 2 only
sql/sql_list.cc:
  Changed header to GPL version 2 only
sql/sql_list.h:
  Changed header to GPL version 2 only
sql/sql_load.cc:
  Changed header to GPL version 2 only
sql/sql_locale.cc:
  Changed header to GPL version 2 only
sql/sql_manager.cc:
  Changed header to GPL version 2 only
sql/sql_manager.h:
  Changed header to GPL version 2 only
sql/sql_map.cc:
  Changed header to GPL version 2 only
sql/sql_map.h:
  Changed header to GPL version 2 only
sql/sql_olap.cc:
  Changed header to GPL version 2 only
sql/sql_parse.cc:
  Changed header to GPL version 2 only
sql/sql_prepare.cc:
  Changed header to GPL version 2 only
sql/sql_rename.cc:
  Changed header to GPL version 2 only
sql/sql_repl.cc:
  Changed header to GPL version 2 only
sql/sql_repl.h:
  Changed header to GPL version 2 only
sql/sql_select.cc:
  Changed header to GPL version 2 only
sql/sql_select.h:
  Changed header to GPL version 2 only
sql/sql_show.cc:
  Changed header to GPL version 2 only
sql/sql_sort.h:
  Changed header to GPL version 2 only
sql/sql_state.c:
  Changed header to GPL version 2 only
sql/sql_string.cc:
  Changed header to GPL version 2 only
sql/sql_string.h:
  Changed header to GPL version 2 only
sql/sql_table.cc:
  Changed header to GPL version 2 only
sql/sql_test.cc:
  Changed header to GPL version 2 only
sql/sql_trigger.cc:
  Changed header to GPL version 2 only
sql/sql_trigger.h:
  Changed header to GPL version 2 only
sql/sql_udf.cc:
  Changed header to GPL version 2 only
sql/sql_udf.h:
  Changed header to GPL version 2 only
sql/sql_union.cc:
  Changed header to GPL version 2 only
sql/sql_update.cc:
  Changed header to GPL version 2 only
sql-bench/Makefile.am:
  Changed header to GPL version 2 only
sql-bench/as3ap.sh:
  Changed header to GPL version 2 only
sql-bench/bench-count-distinct.sh:
  Changed header to GPL version 2 only
sql-bench/bench-init.pl.sh:
  Changed header to GPL version 2 only
sql-bench/compare-results.sh:
  Changed header to GPL version 2 only
sql-bench/copy-db.sh:
  Changed header to GPL version 2 only
sql-bench/crash-me.sh:
  Changed header to GPL version 2 only
sql-bench/print-limit-table:
  Changed header to GPL version 2 only
sql-bench/run-all-tests.sh:
  Changed header to GPL version 2 only
sql/examples/ha_example.cc:
  Changed header to GPL version 2 only
sql/examples/ha_example.h:
  Changed header to GPL version 2 only
sql/examples/ha_tina.cc:
  Changed header to GPL version 2 only
sql/examples/ha_tina.h:
  Changed header to GPL version 2 only
sql/share/Makefile.am:
  Changed header to GPL version 2 only
sql/share/charsets/Index.xml:
  Changed header to GPL version 2 only
sql/share/charsets/armscii8.xml:
  Changed header to GPL version 2 only
sql/share/charsets/ascii.xml:
  Changed header to GPL version 2 only
sql/share/charsets/cp1250.xml:
  Changed header to GPL version 2 only
sql/share/charsets/cp1251.xml:
  Changed header to GPL version 2 only
sql/share/charsets/cp1256.xml:
  Changed header to GPL version 2 only
sql/share/charsets/cp1257.xml:
  Changed header to GPL version 2 only
sql/share/charsets/cp850.xml:
  Changed header to GPL version 2 only
sql/share/charsets/cp852.xml:
  Changed header to GPL version 2 only
sql/share/charsets/cp866.xml:
  Changed header to GPL version 2 only
sql/share/charsets/dec8.xml:
  Changed header to GPL version 2 only
sql/share/charsets/geostd8.xml:
  Changed header to GPL version 2 only
sql/share/charsets/greek.xml:
  Changed header to GPL version 2 only
sql/share/charsets/hebrew.xml:
  Changed header to GPL version 2 only
sql/share/charsets/hp8.xml:
  Changed header to GPL version 2 only
sql/share/charsets/keybcs2.xml:
  Changed header to GPL version 2 only
sql/share/charsets/koi8r.xml:
  Changed header to GPL version 2 only
sql/share/charsets/koi8u.xml:
  Changed header to GPL version 2 only
sql/share/charsets/latin1.xml:
  Changed header to GPL version 2 only
sql/share/charsets/latin2.xml:
  Changed header to GPL version 2 only
sql/share/charsets/latin5.xml:
  Changed header to GPL version 2 only
sql/share/charsets/latin7.xml:
  Changed header to GPL version 2 only
sql/share/charsets/macce.xml:
  Changed header to GPL version 2 only
sql/share/charsets/macroman.xml:
  Changed header to GPL version 2 only
sql/share/charsets/swe7.xml:
  Changed header to GPL version 2 only
sql/sql_view.cc:
  Changed header to GPL version 2 only
sql/sql_view.h:
  Changed header to GPL version 2 only
sql/sql_yacc.yy:
  Changed header to GPL version 2 only
sql/stacktrace.c:
  Changed header to GPL version 2 only
sql/stacktrace.h:
  Changed header to GPL version 2 only
sql/strfunc.cc:
  Changed header to GPL version 2 only
sql/structs.h:
  Changed header to GPL version 2 only
sql/table.cc:
  Changed header to GPL version 2 only
sql/table.h:
  Changed header to GPL version 2 only
sql/thr_malloc.cc:
  Changed header to GPL version 2 only
sql/time.cc:
  Changed header to GPL version 2 only
sql/tzfile.h:
  Changed header to GPL version 2 only
sql/tztime.cc:
  Changed header to GPL version 2 only
sql/tztime.h:
  Changed header to GPL version 2 only
sql/udf_example.c:
  Changed header to GPL version 2 only
sql/uniques.cc:
  Changed header to GPL version 2 only
sql/unireg.cc:
  Changed header to GPL version 2 only
sql/unireg.h:
  Changed header to GPL version 2 only
sql-bench/server-cfg.sh:
  Changed header to GPL version 2 only
sql-bench/test-ATIS.sh:
  Changed header to GPL version 2 only
sql-bench/test-alter-table.sh:
  Changed header to GPL version 2 only
sql-bench/test-big-tables.sh:
  Changed header to GPL version 2 only
sql-bench/test-connect.sh:
  Changed header to GPL version 2 only
sql-bench/test-create.sh:
  Changed header to GPL version 2 only
sql-bench/test-insert.sh:
  Changed header to GPL version 2 only
sql-bench/test-select.sh:
  Changed header to GPL version 2 only
sql-bench/test-transactions.sh:
  Changed header to GPL version 2 only
sql-bench/test-wisconsin.sh:
  Changed header to GPL version 2 only
sql-common/Makefile.am:
  Changed header to GPL version 2 only
sql-common/client.c:
  Changed header to GPL version 2 only
sql-common/my_time.c:
  Changed header to GPL version 2 only
sql-common/my_user.c:
  Changed header to GPL version 2 only
sql-common/pack.c:
  Changed header to GPL version 2 only
strings/Makefile.am:
  Changed header to GPL version 2 only
strings/bchange.c:
  Changed header to GPL version 2 only
strings/bcmp.c:
  Changed header to GPL version 2 only
strings/bcopy-duff.c:
  Changed header to GPL version 2 only
strings/bfill.c:
  Changed header to GPL version 2 only
strings/bmove.c:
  Changed header to GPL version 2 only
strings/bmove512.c:
  Changed header to GPL version 2 only
strings/bmove_upp-sparc.s:
  Changed header to GPL version 2 only
strings/bmove_upp.c:
  Changed header to GPL version 2 only
strings/bzero.c:
  Changed header to GPL version 2 only
strings/conf_to_src.c:
  Changed header to GPL version 2 only
strings/ctype-big5.c:
  Changed header to GPL version 2 only
strings/ctype-bin.c:
  Changed header to GPL version 2 only
strings/ctype-cp932.c:
  Changed header to GPL version 2 only
strings/ctype-czech.c:
  Changed header to GPL version 2 only
strings/ctype-euc_kr.c:
  Changed header to GPL version 2 only
strings/ctype-eucjpms.c:
  Changed header to GPL version 2 only
strings/ctype-gb2312.c:
  Changed header to GPL version 2 only
strings/ctype-gbk.c:
  Changed header to GPL version 2 only
strings/ctype-latin1.c:
  Changed header to GPL version 2 only
strings/ctype-mb.c:
  Changed header to GPL version 2 only
strings/ctype-simple.c:
  Changed header to GPL version 2 only
strings/ctype-sjis.c:
  Changed header to GPL version 2 only
strings/ctype-tis620.c:
  Changed header to GPL version 2 only
strings/ctype-uca.c:
  Changed header to GPL version 2 only
strings/ctype-ucs2.c:
  Changed header to GPL version 2 only
strings/ctype-ujis.c:
  Changed header to GPL version 2 only
strings/ctype-utf8.c:
  Changed header to GPL version 2 only
strings/ctype-win1250ch.c:
  Changed header to GPL version 2 only
strings/ctype.c:
  Changed header to GPL version 2 only
strings/decimal.c:
  Changed header to GPL version 2 only
strings/do_ctype.c:
  Changed header to GPL version 2 only
strings/int2str.c:
  Changed header to GPL version 2 only
strings/is_prefix.c:
  Changed header to GPL version 2 only
strings/llstr.c:
  Changed header to GPL version 2 only
strings/longlong2str-x86.s:
  Changed header to GPL version 2 only
strings/longlong2str.c:
  Changed header to GPL version 2 only
strings/longlong2str_asm.c:
  Changed header to GPL version 2 only
strings/macros.asm:
  Changed header to GPL version 2 only
strings/memcmp.c:
  Changed header to GPL version 2 only
strings/memcpy.c:
  Changed header to GPL version 2 only
strings/memset.c:
  Changed header to GPL version 2 only
strings/my_strtoll10-x86.s:
  Changed header to GPL version 2 only
strings/my_strtoll10.c:
  Changed header to GPL version 2 only
strings/my_vsnprintf.c:
  Changed header to GPL version 2 only
strings/ptr_cmp.asm:
  Changed header to GPL version 2 only
strings/r_strinstr.c:
  Changed header to GPL version 2 only
strings/str2int.c:
  Changed header to GPL version 2 only
strings/str_alloc.c:
  Changed header to GPL version 2 only
strings/str_test.c:
  Changed header to GPL version 2 only
strings/strappend-sparc.s:
  Changed header to GPL version 2 only
strings/strappend.c:
  Changed header to GPL version 2 only
strings/strcat.c:
  Changed header to GPL version 2 only
strings/strcend.c:
  Changed header to GPL version 2 only
strings/strchr.c:
  Changed header to GPL version 2 only
strings/strcmp.c:
  Changed header to GPL version 2 only
strings/strcont.c:
  Changed header to GPL version 2 only
strings/strend-sparc.s:
  Changed header to GPL version 2 only
strings/strend.c:
  Changed header to GPL version 2 only
strings/strfill.c:
  Changed header to GPL version 2 only
strings/strings-not-used.h:
  Changed header to GPL version 2 only
strings/strings-x86.s:
  Changed header to GPL version 2 only
strings/strings.asm:
  Changed header to GPL version 2 only
strings/strinstr-sparc.s:
  Changed header to GPL version 2 only
strings/strinstr.c:
  Changed header to GPL version 2 only
strings/strlen.c:
  Changed header to GPL version 2 only
strings/strmake-sparc.s:
  Changed header to GPL version 2 only
strings/strmake.c:
  Changed header to GPL version 2 only
strings/strmov-sparc.s:
  Changed header to GPL version 2 only
strings/strmov.c:
  Changed header to GPL version 2 only
strings/strnlen.c:
  Changed header to GPL version 2 only
strings/strnmov-sparc.s:
  Changed header to GPL version 2 only
strings/strnmov.c:
  Changed header to GPL version 2 only
strings/strrchr.c:
  Changed header to GPL version 2 only
strings/strstr-sparc.s:
  Changed header to GPL version 2 only
strings/strstr.c:
  Changed header to GPL version 2 only
strings/strto.c:
  Changed header to GPL version 2 only
strings/strtol.c:
  Changed header to GPL version 2 only
strings/strtoll.c:
  Changed header to GPL version 2 only
strings/strtoul.c:
  Changed header to GPL version 2 only
strings/strtoull.c:
  Changed header to GPL version 2 only
strings/strxmov-sparc.s:
  Changed header to GPL version 2 only
strings/strxmov.asm:
  Changed header to GPL version 2 only
strings/strxmov.c:
  Changed header to GPL version 2 only
strings/strxnmov.c:
  Changed header to GPL version 2 only
strings/t_ctype.h:
  Changed header to GPL version 2 only
strings/udiv.c:
  Changed header to GPL version 2 only
strings/xml.c:
  Changed header to GPL version 2 only
support-files/MacOSX/Makefile.am:
  Changed header to GPL version 2 only
support-files/Makefile.am:
  Changed header to GPL version 2 only
support-files/MySQL-shared-compat.spec.sh:
  Changed header to GPL version 2 only
tests/Makefile.am:
  Changed header to GPL version 2 only
tests/connect_test.c:
  Changed header to GPL version 2 only
tests/deadlock_test.c:
  Changed header to GPL version 2 only
tests/insert_test.c:
  Changed header to GPL version 2 only
tests/list_test.c:
  Changed header to GPL version 2 only
tests/mysql_client_test.c:
  Changed header to GPL version 2 only
tests/select_test.c:
  Changed header to GPL version 2 only
tests/showdb_test.c:
  Changed header to GPL version 2 only
tests/ssl_test.c:
  Changed header to GPL version 2 only
tests/thread_test.c:
  Changed header to GPL version 2 only
tools/Makefile.am:
  Changed header to GPL version 2 only
tools/mysqlmanager.c:
  Changed header to GPL version 2 only
vio/Makefile.am:
  Changed header to GPL version 2 only
vio/test-ssl.c:
  Changed header to GPL version 2 only
vio/test-sslclient.c:
  Changed header to GPL version 2 only
vio/test-sslserver.c:
  Changed header to GPL version 2 only
vio/vio.c:
  Changed header to GPL version 2 only
vio/vio_priv.h:
  Changed header to GPL version 2 only
vio/viosocket.c:
  Changed header to GPL version 2 only
vio/viossl.c:
  Changed header to GPL version 2 only
vio/viosslfactories.c:
  Changed header to GPL version 2 only
vio/viotest-ssl.c:
  Changed header to GPL version 2 only
win/Makefile.am:
  Changed header to GPL version 2 only
zlib/Makefile.am:
  Changed header to GPL version 2 only
2006-12-23 20:17:15 +01:00
unknown
2bcbffa0c5 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0


client/mysql.cc:
  Auto merged
client/mysql_upgrade.c:
  Auto merged
client/mysqltest.c:
  Auto merged
extra/yassl/include/yassl_imp.hpp:
  Auto merged
extra/yassl/include/yassl_int.hpp:
  Auto merged
extra/yassl/taocrypt/include/algebra.hpp:
  Auto merged
extra/yassl/taocrypt/include/des.hpp:
  Auto merged
extra/yassl/taocrypt/include/modes.hpp:
  Auto merged
extra/yassl/taocrypt/src/aes.cpp:
  Auto merged
extra/yassl/taocrypt/src/algebra.cpp:
  Auto merged
extra/yassl/taocrypt/test/test.cpp:
  Auto merged
include/my_sys.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
myisam/mi_open.c:
  Auto merged
myisam/myisampack.c:
  Auto merged
mysql-test/r/mysqltest.result:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
ndb/src/common/util/File.cpp:
  Auto merged
ndb/src/common/util/socket_io.cpp:
  Auto merged
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
  Auto merged
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Auto merged
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  Auto merged
ndb/src/mgmsrv/Services.cpp:
  Auto merged
ndb/tools/ndb_config.cpp:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  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_strfunc.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/sql_string.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
strings/strtod.c:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
extra/yassl/taocrypt/include/rsa.hpp:
  manual merge
mysql-test/t/mysql.test:
  manual merge
sql/sql_parse.cc:
  manual merge
2006-12-15 01:01:52 +02:00
unknown
f00257ddd0 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


BUILD/SETUP.sh:
  Added printing of unused functions and variables.
  Made it easy to test compiling with -Wshadow
BUILD/compile-pentium-gcov:
  Added warnings
  Mark binary with -gcov
client/mysql.cc:
  Fixed warnings found with gcc -Wshadow
client/mysql_upgrade.c:
  Fixed warnings found with gcc -Wshadow
client/mysqlbinlog.cc:
  Fixed warnings found with gcc -Wshadow
client/mysqldump.c:
  Fixed warnings found with gcc -Wshadow
client/mysqltest.c:
  Fixed warnings found with gcc -Wshadow
client/sql_string.cc:
  Fixed warnings found with gcc -Wshadow
  Merged with sql/sql_string.cc
client/sql_string.h:
  Fixed warnings found with gcc -Wshadow
  Merged with sql/sql_string.h
cmd-line-utils/readline/display.c:
  Fixed compiler warning
cmd-line-utils/readline/histexpand.c:
  Fixed warnings found with gcc -Wshadow
cmd-line-utils/readline/input.c:
  Fixed warnings found with gcc -Wshadow
cmd-line-utils/readline/text.c:
  Fixed warnings found with gcc -Wshadow
cmd-line-utils/readline/vi_mode.c:
  Fixed warnings found with gcc -Wshadow
dbug/dbug_analyze.c:
  Fixed warnings found with gcc -Wshadow
extra/my_print_defaults.c:
  Prefixed defaults_extra_file and defaults_group_suffix with 'my' to avoid conflicts with similar named local variables
extra/yassl/include/buffer.hpp:
  Fixed compiler warnings
extra/yassl/include/crypto_wrapper.hpp:
  Fixed compiler warnings
extra/yassl/include/yassl_imp.hpp:
  Fixed compiler warnings
extra/yassl/include/yassl_int.hpp:
  Fixed compiler warnings
extra/yassl/src/crypto_wrapper.cpp:
  Fixed compiler warnings
extra/yassl/taocrypt/benchmark/benchmark.cpp:
  Fixed warnings found with gcc -Wshadow
extra/yassl/taocrypt/include/algebra.hpp:
  Fixed compiler warnings
extra/yassl/taocrypt/include/des.hpp:
  Fixed compiler warnings
extra/yassl/taocrypt/include/hash.hpp:
  Fixed compiler warnings
extra/yassl/taocrypt/include/hmac.hpp:
  Fixed compiler warnings
extra/yassl/taocrypt/include/modarith.hpp:
  Fixed compiler warnings
extra/yassl/taocrypt/include/modes.hpp:
  Fixed compiler warnings
extra/yassl/taocrypt/include/rsa.hpp:
  Fixed compiler warnings
extra/yassl/taocrypt/mySTL/list.hpp:
  Fixed compiler warnings
extra/yassl/taocrypt/src/aes.cpp:
  Fixed compiler warnings
extra/yassl/taocrypt/src/algebra.cpp:
  Fixed compiler warnings
extra/yassl/taocrypt/src/asn.cpp:
  Fixed compiler warnings
extra/yassl/taocrypt/test/test.cpp:
  Fixed compiler warnings
extra/yassl/testsuite/testsuite.cpp:
  Fixed compiler warnings
include/m_ctype.h:
  Fixed warnings found with gcc -Wshadow
include/my_pthread.h:
  Fixed warnings found with gcc -Wshadow
include/my_sys.h:
  Fixed warnings found with gcc -Wshadow
include/my_time.h:
  Fixed warnings found with gcc -Wshadow
include/mysql.h:
  Fixed warnings found with gcc -Wshadow
  Added define IS_LONGDATA() to simplify code in libmysql.c
libmysql/libmysql.c:
  Fixed warnings found with gcc -Wshadow
  (Mostly replaced bind -> my_bind and time -> my_time)
libmysqld/lib_sql.cc:
  Removed not used variables and labels
myisam/ft_boolean_search.c:
  Fixed warnings found with gcc -Wshadow
myisam/mi_open.c:
  Fixed warnings found with gcc -Wshadow
myisam/mi_search.c:
  Fixed warnings found with gcc -Wshadow
myisam/mi_unique.c:
  Fixed compiler warning
myisam/myisampack.c:
  Fixed warnings found with gcc -Wshadow
myisam/rt_index.c:
  Remove not used variables
myisam/sort.c:
  Fixed warnings found with gcc -Wshadow
mysql-test/r/mysqlcheck.result:
  Remove databases and tables possible left by previous test
mysql-test/r/mysqltest.result:
  New test results
mysql-test/t/mysql.test:
  Coverage tests
mysql-test/t/mysqlbinlog.test:
  Coverage tests
mysql-test/t/mysqlcheck.test:
  Remove databases and tables possible left by previous test
mysql-test/t/mysqltest.test:
  Coverage tests
mysys/default.c:
  Prefixed defaults_file, defaults_group_suffix and defaults_extra_file with 'my' to avoid conflicts with local variables in some functions
mysys/mf_iocache2.c:
  Fixed warnings found with gcc -Wshadow
mysys/mf_keycache.c:
  Fixed warnings found with gcc -Wshadow
mysys/my_bitmap.c:
  Fixed warnings found with gcc -Wshadow
mysys/sha1.c:
  Fixed warnings found with gcc -Wshadow
ndb/include/kernel/signaldata/ArbitSignalData.hpp:
  Fixed compiler warning
ndb/include/kernel/signaldata/DictTabInfo.hpp:
  Fixed compiler warnings
ndb/include/ndbapi/NdbReceiver.hpp:
  Fixed warnings found with gcc -Wshadow
ndb/include/transporter/TransporterDefinitions.hpp:
  Fixed compiler warning
ndb/include/util/InputStream.hpp:
  Fixed compiler warning
ndb/include/util/OutputStream.hpp:
  Fixed compiler warning
ndb/include/util/SimpleProperties.hpp:
  Fixed compiler warning
ndb/include/util/SocketAuthenticator.hpp:
  Fixed compiler warning
ndb/include/util/SocketServer.hpp:
  Fixed compiler warning
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  Fixed warnings found with gcc -Wshadow
ndb/src/common/portlib/NdbTick.c:
  Fixed warnings found with gcc -Wshadow
ndb/src/common/transporter/SHM_Transporter.cpp:
  Fixed warnings found with gcc -Wshadow
ndb/src/common/transporter/TCP_Transporter.cpp:
  Fixed warnings found with gcc -Wshadow
ndb/src/common/transporter/TCP_Transporter.hpp:
  Fixed compiler warning
ndb/src/common/transporter/Transporter.cpp:
  Removed not used variable
ndb/src/common/transporter/TransporterRegistry.cpp:
  Removed not used variable
ndb/src/common/util/Bitmask.cpp:
  Moved function to avoid warnings of not used function
ndb/src/common/util/ConfigValues.cpp:
  Fixed warnings found with gcc -Wshadow
ndb/src/common/util/File.cpp:
  Fixed warnings found with gcc -Wshadow
ndb/src/common/util/Properties.cpp:
  Fixed warnings found with gcc -Wshadow
ndb/src/common/util/SocketClient.cpp:
  Fixed wrong return value
ndb/src/common/util/random.c:
  Fixed warnings found with gcc -Wshadow
ndb/src/common/util/socket_io.cpp:
  Fixed warnings found with gcc -Wshadow
ndb/src/cw/cpcd/APIService.cpp:
  Removed not used variable
ndb/src/cw/cpcd/main.cpp:
  Removed not used variables
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  Fixed compiler warnings
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Removed not used variables
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Fixed compiler warnings
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
  Fixed compiler warnings
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  Fixed compiler warnings
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Removed not used variables
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Fixed compiler warnings
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  Fixed compiler warnings
ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
  Removed not used variable
ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp:
  Removed not used variables
ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
  Removed not used variables
ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp:
  Removed not used variables
ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp:
  Fixed compiler warnings
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Removed not used variables
ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp:
  Fixed compiler warnings
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
  Fixed compiler warnings
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
  Removed not used variables
ndb/src/kernel/blocks/suma/Suma.cpp:
  Removed not used variables
ndb/src/kernel/blocks/suma/Suma.hpp:
  Fixed compiler warnings
ndb/src/kernel/vm/MetaData.hpp:
  Fixed compiler warnings
ndb/src/mgmapi/LocalConfig.cpp:
  Fixed warnings found with gcc -Wshadow
ndb/src/mgmapi/mgmapi.cpp:
  Fixed warnings found with gcc -Wshadow
ndb/src/mgmclient/CommandInterpreter.cpp:
  Removed not used variables
ndb/src/mgmsrv/ConfigInfo.cpp:
  Fixed warnings found with gcc -Wshadow
  Removed not used variables
ndb/src/mgmsrv/ConfigInfo.hpp:
  Fixed warnings found with gcc -Wshadow
ndb/src/mgmsrv/InitConfigFileParser.cpp:
  Prefixed defaults_file, defaults_group_suffix and defaults_extra_file with 'my' to avoid conflicts with local variables in some functions
ndb/src/mgmsrv/MgmtSrvr.cpp:
  Removed not used variables and functions
ndb/src/mgmsrv/MgmtSrvr.hpp:
  Fixed compiler warnings
ndb/src/mgmsrv/Services.cpp:
  Removed not used variables and functions
ndb/src/mgmsrv/main.cpp:
  Removed not used variable
ndb/src/ndbapi/ClusterMgr.hpp:
  Fixed compiler warnings
ndb/src/ndbapi/Ndb.cpp:
  Removed not used variables
ndb/src/ndbapi/NdbBlob.cpp:
  Removed not used variables
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Removed not used variables
ndb/src/ndbapi/NdbIndexOperation.cpp:
  Removed not used variables
ndb/src/ndbapi/NdbOperationDefine.cpp:
  Removed not used variables
ndb/src/ndbapi/NdbOperationExec.cpp:
  Removed not used variables
ndb/src/ndbapi/NdbOperationSearch.cpp:
  Removed not used variables
ndb/src/ndbapi/NdbScanFilter.cpp:
  Fixed compiler warning
ndb/src/ndbapi/NdbScanOperation.cpp:
  Removed not used variables
ndb/src/ndbapi/SignalSender.cpp:
  Removed not used variables
ndb/src/ndbapi/ndb_cluster_connection.cpp:
  Removed not used variable
ndb/tools/delete_all.cpp:
  Removed not used variable
ndb/tools/desc.cpp:
  Removed not used variable
ndb/tools/drop_index.cpp:
  Removed not used variable
ndb/tools/drop_tab.cpp:
  Removed not used variable
ndb/tools/listTables.cpp:
  Removed not used variable
ndb/tools/ndb_config.cpp:
  Fixed warnings found with gcc -Wshadow
  Added missing puts(desc)
ndb/tools/restore/Restore.hpp:
  Changed delimiter to define instead of static variable, as the static variable caused a LOT of compiler warnings
  Fixed compiler warning
ndb/tools/restore/consumer.hpp:
  Fixed compiler warning
ndb/tools/restore/restore_main.cpp:
  Fixed compiler warnings
ndb/tools/select_all.cpp:
  Removed not used variables
ndb/tools/select_count.cpp:
  Removed not used variable
server-tools/instance-manager/commands.h:
  Fixed compiler warnings
server-tools/instance-manager/guardian.cc:
  Fixed compiler warnings
server-tools/instance-manager/instance_options.cc:
  Removed not used variables
server-tools/instance-manager/mysql_connection.cc:
  Fixed compiler warnings
server-tools/instance-manager/options.cc:
  Fixed compiler warnings
server-tools/instance-manager/options.h:
  Fixed compiler warnings
server-tools/instance-manager/parse.cc:
  Removed not used variable
server-tools/instance-manager/user_map.cc:
  Fixed compiler warnings
server-tools/instance-manager/user_map.h:
  Fixed compiler warnings
sql/field.cc:
  Fixed compiler warnings
sql/field.h:
  Fixed compiler warnings
sql/filesort.cc:
  Fixed compiler warnings
sql/ha_archive.cc:
  Removed table and share arguments from get_share() / free_share() to get rid of compiler warnings
sql/ha_archive.h:
  Removed table and share arguments from get_share() / free_share() to get rid of compiler warnings
sql/ha_federated.cc:
  Fixed compiler warnings
sql/ha_heap.cc:
  Fixed compiler warnings
sql/ha_myisam.cc:
  Fixed compiler warnings
sql/ha_myisammrg.cc:
  Fixed compiler warnings
sql/ha_ndbcluster.cc:
  Fixed compiler warnings
sql/handler.cc:
  Fixed compiler warnings
sql/item.cc:
  Fixed compiler warnings
sql/item.h:
  Fixed compiler warnings
  new_item() -> clone_item(), to avoid a lot of warnings with variable 'new_item'
  el() -> element_index()
sql/item_cmpfunc.cc:
  Fixed compiler warnings
sql/item_cmpfunc.h:
  Fixed compiler warnings
sql/item_func.cc:
  Fixed compiler warnings
sql/item_geofunc.cc:
  Fixed compiler warnings
sql/item_row.h:
  Fixed compiler warnings
sql/item_strfunc.cc:
  Fixed compiler warnings
sql/item_subselect.cc:
  Fixed compiler warnings
sql/item_subselect.h:
  Fixed compiler warnings
sql/item_sum.cc:
  Fixed compiler warnings
sql/item_timefunc.cc:
  Fixed compiler warnings
sql/log.cc:
  Fixed compiler warnings
  More comments
  Added #ifdef HAVE_REPLICATION
sql/log_event.cc:
  Fixed compiler warnings
sql/log_event.h:
  Fixed compiler warnings
sql/mysql_priv.h:
  query_id -> global_query_id, to avoid a lot of clashes with function and class variables
  start_time -> server_start_time
sql/mysqld.cc:
  Fixed compiler warnings:
  - Removed not used variables
  - Added #ifndef EMBEDDED_LIBRARY
  - Fixed shadow warnings
sql/net_serv.cc:
  Fixed compiler warnings
sql/opt_range.cc:
  range -> last_range to avoid shadow warnings
  Removed not used function print_rowid()
sql/opt_range.h:
  range -> last_range to avoid shadow warnings
sql/password.c:
  Fixed compiler warnings
sql/protocol.cc:
  Fixed compiler warnings
sql/repl_failsafe.cc:
  Fixed compiler warnings
sql/set_var.cc:
  Fixed compiler warnings
sql/set_var.h:
  type() -> show_type()
  Fixed compiler warnings
sql/slave.cc:
  Fixed compiler warnings
sql/sp_head.cc:
  Fixed compiler warnings
sql/sp_head.h:
  Fixed compiler warnings
sql/spatial.cc:
  Fixed compiler warnings
sql/spatial.h:
  length() -> geom_length() to avoid compiler warnings
  wkb_end -> wkb_last to avoid compiler warnings with local variables named 'wkb_end'
sql/sql_cache.h:
  Fixed compiler warnings
sql/sql_class.cc:
  Fixed compiler warnings
sql/sql_class.h:
  log -> log_xid() to avoid compiler warnings
  Fixed shadow compiler warnings
sql/sql_derived.cc:
  Removed not used variable
sql/sql_insert.cc:
  Fixed compiler warnings
sql/sql_lex.cc:
  Fixed compiler warnings
sql/sql_lex.h:
  res -> saved_error to make the meaning of the variable clear and avoid shadow warnings
sql/sql_load.cc:
  Fixed compiler warnings
sql/sql_parse.cc:
  Fixed compiler warnings
sql/sql_prepare.cc:
  Fixed compiler warnings
sql/sql_select.cc:
  Fixed compiler warnings
sql/sql_show.cc:
  Fixed compiler warnings
sql/sql_string.cc:
  Fixed compiler warnings
sql/sql_string.h:
  Fixed compiler warnings
sql/sql_table.cc:
  Fixed compiler warnings
sql/sql_trigger.cc:
  Fixed compiler warnings
sql/sql_trigger.h:
  table -> trigger_table to avoid warnings from local variables
sql/sql_union.cc:
  Fixed compiler warnings
  (mainly res -> saved_error)
sql-common/client.c:
  Removed not used variable
sql-common/my_time.c:
  Removed not used variable
  time -> my_time
sql/sql_update.cc:
  Removed not used variable
sql/sql_view.cc:
  Removed not used variable
sql/sql_yacc.yy:
  Removed not used variable
sql/table.cc:
  Removed not used variable
sql/tztime.cc:
  Removed not used variable
sql/unireg.cc:
  Removed not used variable
strings/ctype-bin.c:
  mblen -> mb_len to avoid compiler warnings with local variable mblen
strings/ctype-cp932.c:
  Fixed compiler warnings
strings/ctype-eucjpms.c:
  Fixed compiler warnings
strings/ctype-mb.c:
  mblen -> mb_len to avoid compiler warnings with local variable mblen
strings/ctype-simple.c:
  mblen -> mb_len to avoid compiler warnings with local variable mblen
  exp -> exponent
strings/ctype-sjis.c:
  Fixed compiler warnings
strings/ctype-uca.c:
  mblen -> mb_len to avoid compiler warnings with local variable mblen
strings/ctype-ujis.c:
  Fixed compiler warnings
strings/ctype-utf8.c:
  Fixed compiler warnings
strings/decimal.c:
  Fixed compiler warnings
strings/my_vsnprintf.c:
  Added comment
strings/strtod.c:
  Fixed compiler warnings
tests/mysql_client_test.c:
  Fixed compiler warnings
  (Biggest part of patch is to not get a conflict with global function 'bind')
2006-12-15 00:51:37 +02:00
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
ec5bdb5185 Fix bad merge. 2006-10-20 22:21:05 -04:00
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
21e75cb081 Manual merge 5.0->5.1. Post-merge fixes.
client/mysqldump.c:
  A post-merge fix - 'sock' was renamed to 'mysql'
mysql-test/r/events_bugs.result:
  A post merge fix: now we strip rear comments from the query before
  it gets into the log.
mysql-test/r/func_group.result:
  A post merge fix: default clause is now printed uppercase.
mysql-test/r/im_life_cycle.result:
  Fix my mistake in manual resolve.
mysql-test/r/mysqlcheck.result:
  use test; - after we drop client_test_db there is no current database.
  This cleanup is present in 5.1 only, but the test that was added in 
  5.0 assumes there is a current database, test.
mysql-test/r/mysqldump.result:
  Ignore results of execution of mysqldump: we can't rely on 
  MASTER_LOG_POS in test results, it's different for statement
  and row level logging.
mysql-test/r/mysqlshow.result:
  A post-merge fix: information schema contains a few more tables
  in 5.1
mysql-test/r/mysqltest.result:
  A post merge fix: add 5.1 test end separator.
mysql-test/r/ndb_basic.result:
  A post-merge fix: add test end separators.
mysql-test/r/rpl_switch_stm_row_mixed.result:
  A post merge fix: length of varbinary column is now 3 times less.
  Assuming a side effect of some other change. Length of any
  field is not relevant in this test.
mysql-test/r/rpl_view.result:
  Add an end of test marker.
mysql-test/r/show_check.result:
  Remove duplicate results. Add results from a merged test case.
mysql-test/r/sp-error.result:
  Add test end separators.
mysql-test/r/sp-security.result:
  Post-merge fix: use test after the current database is dropped.
mysql-test/r/sp.result:
  Remove a duplicate result (bad merge that left a copy of
  the test case for Bug#19862 in the test suite).
mysql-test/r/strict.result:
  An after-merge fix for a new test case: in 5.1 we issue a more accurate
  error message: "Incorrect value" instead of "Truncated value". I reason
  it so that in case of an error nothing is truncated, really.
  Also found similar changes in other test cases.
mysql-test/r/type_datetime.result:
  Fix the text of an error.
mysql-test/r/union.result:
  A post-merge fix: CHARACTER SET is now uppercase.
mysql-test/t/mysqlcheck.test:
  A post-merge fix: use test, after current database is dropped, there
  is no current database.
mysql-test/t/mysqldump.test:
  Disable result log: it's dependent on binlog position.
mysql-test/t/sp-security.test:
  use test
sql/item_sum.cc:
  Adjust the call to the constructor after the merge.
sql/sp_head.cc:
  Add a missing DBUG_VOID_RETURN, move security checks out of
  execute_trigger to Table_triggers_list: in 5.1 we check for
  TRIGGER privilege, not SUPER privilege to execute triggers, so these
  checks lack table context inside execute_trigger and have to be
  performed when we have table object on hand.
sql/sql_db.cc:
  A post-merge fix: adjust load_db_opt_by_name and check_db_dir_existence
  (new functions added in 5.0) to be tablename-to-filename encoding 
  friendly.
sql/sql_lex.cc:
  A post-merge fix: make skip_rear_comments operate on const uchar *s.
sql/sql_lex.h:
  A post-merge fix.
sql/sql_show.cc:
  A post-merge fix: fix a bad merge, rename orig_sql_command -> sql_command.
sql/sql_trigger.cc:
  A post-merge fix: move security checks to process_triggers
  from execute_trigger.
sql/sql_view.cc:
  Adjust to the new signature of skip_rear_comments.
sql/sql_yacc.yy:
  Adjust to the new signature of init_strings.
2006-08-14 13:27:11 +04:00
unknown
f68085c4e7 Merge bodhi.local:/opt/local/work/tmp_merge
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge


BitKeeper/etc/ignore:
  auto-union
BitKeeper/deleted/.del-im_options_set.result~59278f56be61d921:
  Auto merged
BitKeeper/deleted/.del-mysqld.dsp~ffdbf2d234e23e56:
  Auto merged
BitKeeper/deleted/.del-mysys.dsp~32695fee91189326:
  Auto merged
BitKeeper/deleted/.del-im_options_set.imtest~b53d9d60e5684833:
  Auto merged
BitKeeper/deleted/.del-im_options_unset.imtest~768eb186b51d0048:
  Auto merged
BitKeeper/deleted/.del-im_options_unset.result~20a4790cd3c70a4f:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
client/mysqlcheck.c:
  Auto merged
client/mysqldump.c:
  Auto merged
client/mysqltest.c:
  Auto merged
dbug/dbug.c:
  Auto merged
extra/perror.c:
  Auto merged
extra/yassl/src/yassl_imp.cpp:
  Auto merged
extra/yassl/src/yassl_int.cpp:
  Auto merged
include/mysql.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
mysql-test/r/cast.result:
  Auto merged
mysql-test/r/date_formats.result:
  Auto merged
mysql-test/r/federated.result:
  Auto merged
mysql-test/r/func_compress.result:
  Auto merged
mysql-test/r/func_group.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/gis-rtree.result:
  Auto merged
mysql-test/r/gis.result:
  Auto merged
mysql-test/r/im_daemon_life_cycle.result:
  Auto merged
mysql-test/r/im_utils.result:
  Auto merged
mysql-test/r/join_outer.result:
  Auto merged
mysql-test/r/mysqlcheck.result:
  Auto merged
mysql-test/r/rpl_sp.result:
  Auto merged
mysql-test/r/rpl_trigger.result:
  Auto merged
mysql-test/r/sp-code.result:
  Auto merged
mysql-test/r/sp-security.result:
  Auto merged
mysql-test/r/strict.result:
  Auto merged
mysql-test/r/type_blob.result:
  Auto merged
mysql-test/r/type_datetime.result:
  Auto merged
mysql-test/r/type_ranges.result:
  Auto merged
mysql-test/r/udf.result:
  Auto merged
mysql-test/r/user_var.result:
  Auto merged
mysql-test/t/cast.test:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
mysql-test/t/func_group.test:
  Auto merged
mysql-test/t/func_time.test:
  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/mysql.test:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  Auto merged
mysql-test/t/mysqlcheck.test:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
mysql-test/t/rpl_trigger.test:
  Auto merged
mysql-test/t/sp-security.test:
  Auto merged
mysql-test/t/strict.test:
  Auto merged
mysql-test/t/udf.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_udf.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/table.h:
  Auto merged
storage/ndb/src/kernel/error/ndbd_exit_codes.c:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
mysql-test/r/im_life_cycle.result:
  e
  use local
mysql-test/r/ps.result:
  use local
client/Makefile.am:
  Manual merge.
client/mysqlimport.c:
  Manual merge.
configure.in:
  Manual merge.
mysql-test/mysql-test-run.pl:
  Manual merge.
mysql-test/r/mysqldump.result:
  Manual merge.
mysql-test/r/mysqltest.result:
  Manual merge.
mysql-test/r/ndb_basic.result:
  Manual merge.
mysql-test/r/rpl_view.result:
  Manual merge.
mysql-test/r/show_check.result:
  Manual merge.
mysql-test/r/sp-error.result:
  Manual merge.
mysql-test/r/sp.result:
  Manual merge.
mysql-test/r/union.result:
  Manual merge.
mysql-test/t/mysqldump.test:
  Manual merge.
mysql-test/t/mysqltest.test:
  Manual merge.
mysql-test/t/ndb_basic.test:
  Manual merge.
mysql-test/t/rpl_sp.test:
  Manual merge.
mysql-test/t/rpl_view.test:
  Manual merge.
mysql-test/t/show_check.test:
  Manual merge.
mysql-test/t/sp-error.test:
  Manual merge.
mysql-test/t/sp.test:
  Manual merge.
sql/item_sum.cc:
  Manual merge.
sql/mysql_priv.h:
  Manual merge.
sql/sp_head.cc:
  Manual merge.
sql/sql_db.cc:
  Manual merge.
sql/sql_delete.cc:
  Manual merge.
sql/sql_lex.h:
  Manual merge.
sql/sql_show.cc:
  Manual merge.
sql/sql_table.cc:
  Manual merge.
sql/sql_trigger.cc:
  Manual merge.
sql/sql_yacc.yy:
  Manual merge.
tests/mysql_client_test.c:
  Manual merge.
2006-08-12 21:06:51 +04:00
unknown
312034fa44 Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  chilla.local:/home/mydev/mysql-5.1-bug18775


sql/ha_myisam.cc:
  Auto merged
sql/ha_myisammrg.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_partition.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/sql_db.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Manual merge
2006-08-02 18:10:51 +02:00
unknown
ef976d20c9 Bug#18775 - Temporary table from alter table visible to other threads
Continued implementation of WL#1324 (table name to filename encoding)

The intermediate (not temporary) files of the new table
during ALTER TABLE was visible for SHOW TABLES. These
intermediate files are copies of the original table with
the changes done by ALTER TABLE. After all the data is
copied over from the original table, these files are renamed 
to the original tables file names. So they are not temporary 
files. They persist after ALTER TABLE, but just with another 
name.

In 5.0 the intermediate files are invisible for SHOW TABLES
because all file names beginning with "#sql" were suppressed.

This failed since 5.1.6 because even temporary table names were
converted when making file names from them. The prefix became
converted to "@0023sql". Converting the prefix during SHOW TABLES
would suppress the listing of user tables that start with "#sql".

The solution of the problem is to continue the implementation of
the table name to file name conversion feature. One requirement
is to suppress the conversion for temporary table names.

This change is straightforward for real temporary tables as there
is a function that creates temporary file names.

But the generated path names are located in TMPDIR and have no
relation to the internal table name. This cannot be used for
ALTER TABLE. Its intermediate files need to be in the same
directory as the old table files. And it is necessary to be
able to deduce the same path from the same table name repeatedly.

Consequently the intermediate table files must be handled like normal
tables. Their internal names shall start with tmp_file_prefix
(#sql) and they shall not be converted like normal table names.

I added a flags parameter to all relevant functions that are
called from ALTER TABLE. It is used to suppress the conversion
for the intermediate table files.

The outcome is that the suppression of #sql in SHOW TABLES
works again. It does not suppress user tables as these are
converted to @0023sql on file level.

This patch does also fix ALTER TABLE ... RENAME, which could not 
rename a table with non-ASCII characters in its name.

It does also fix the problem that a user could create a table like
`#sql-xxxx-yyyy`, where xxxx is mysqld's pid and yyyy is the thread
ID of some other thread, which prevented this thread from running 
ALTER TABLE.

Some of the above problems are mentioned in Bug 1405, which can
be closed with this patch.

This patch does also contain some minor fixes for other forgotten
conversions. Still known problems are reported as bugs 21370,
21373, and 21387.


mysql-test/r/alter_table.result:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added test results.
mysql-test/r/backup.result:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added test results.
mysql-test/r/repair.result:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added test results.
mysql-test/t/alter_table.test:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added test cases.
mysql-test/t/backup.test:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added test cases.
mysql-test/t/repair.test:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added a test case.
sql/ha_myisam.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added missing table name mapping calls to backup() and restore().
sql/ha_myisammrg.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added an zero argument for the new 'flags' parameter.
sql/ha_ndbcluster.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added an zero argument for the new 'flags' parameter.
sql/ha_ndbcluster_binlog.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added an zero argument for the new 'flags' parameter.
sql/ha_ndbcluster_binlog.h:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Removed unnecessary check for wrong temp file prefix.
sql/mysql_priv.h:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Extended quick_rm_table(), mysql_rename_table(), and
  build_table_filename() by an flags argument, which can indicate
  temporary table names that should not be converted.
  Added symbolic flag values.
sql/sql_acl.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added an zero argument for the new 'flags' parameter.
sql/sql_base.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Fixed a comment.
  Added DBUG calls.
sql/sql_db.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added an zero argument for the new 'flags' parameter.
sql/sql_delete.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added an zero argument for the new 'flags' parameter.
sql/sql_insert.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added an zero argument for the new 'flags' parameter.
sql/sql_partition.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added an zero argument for the new 'flags' parameter.
sql/sql_rename.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added an zero argument for the new 'flags' parameter.
sql/sql_show.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Reverted the former fix for this bug. tmp_file_prefix is now used
  verbatim in the comparison of file names.
sql/sql_table.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added a check for a tmp_file_prefix file name to
  filename_to_tablename(). These names are now accepted without
  conversion.
  Extended quick_rm_table(), mysql_rename_table(), and
  build_table_filename() by an flags argument, which can indicate
  temporary table names that should not be converted.
  Removed the table to file name conversion from
  build_tmptable_filename().
  Disabled REPAIR TABLE ... USE_FRM for temporary tables.
  Added the forgotten conversion to mysql_alter_table() for the case
  of ALTER TABLE ... RENAME.
  Added comments and DBUG calls.
sql/sql_trigger.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added an zero argument for the new 'flags' parameter.
sql/sql_view.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Added an zero argument for the new 'flags' parameter.
sql/table.cc:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Replaced a literal ".frm" by reg_ext.
  Added DBUG calls.
storage/innobase/row/row0mysql.c:
  Bug#18775 - Temporary table from alter table visible to other threads
  Continued implementation of WL#1324 (table name to filename encoding)
  Changed back the encoded temp file prefix to #sql.
2006-08-02 17:57:06 +02:00
unknown
d36f578130 Fix for BUG#20438: CREATE statements for views, stored routines and triggers
can be not replicable.

Now CREATE statements for writing in the binlog are created as follows:
  - the beginning of the statement is re-created;
  - the rest of the statement is copied from the original query.

The problem appears when there is a version-specific comment (produced by
mysqldump), started in the re-created part of the statement and closed in the
copied part -- there is closing comment-parenthesis, but there is no opening
one.

The proper fix could be to re-create original statement, but we can not
implement it in 5.0. So, for 5.0 the fix is just to cut closing
comment-parenthesis. This technique is also used for SHOW CREATE PROCEDURE
statement (so we are able to reuse existing code).


mysql-test/r/rpl_sp.result:
  Updated result file.
mysql-test/r/rpl_trigger.result:
  Updated result file.
mysql-test/r/rpl_view.result:
  Updated result file.
mysql-test/t/rpl_sp.test:
  Added test case for BUG#20438.
mysql-test/t/rpl_trigger.test:
  Added test case for BUG#20438.
mysql-test/t/rpl_view.test:
  Added test case for BUG#20438.
sql/sp.cc:
  Trim comments at the end.
sql/sp_head.cc:
  Moved this code to the separate function to be re-used.
sql/sql_lex.cc:
  Added a new function.
sql/sql_lex.h:
  Added a new function.
sql/sql_trigger.cc:
  Trim comments at the end.
sql/sql_view.cc:
  Trim comments at the end.
2006-07-28 02:49:18 +04:00
unknown
51dddb3ad1 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug18630


sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
2006-07-13 17:21:44 +04:00