An error occurred fetching the project authors.
  1. 30 Jul, 2007 1 commit
    • unknown's avatar
      Bug#24989: The DEADLOCK error is improperly handled by InnoDB. · 9246c372
      unknown authored
      When innodb detects a deadlock it calls ha_rollback_trans() to rollback the 
      main transaction. But such action isn't allowed from inside of triggers and
      functions. When it happen the 'Explicit or implicit commit' error is thrown
      even if there is no commit/rollback statements in the trigger/function. This
      leads to the user confusion.
      
      Now the convert_error_code_to_mysql() function doesn't call the 
      ha_rollback_trans() function directly but rather calls the
      mark_transaction_to_rollback function and returns an error.
      The sp_rcontext::find_handler() now doesn't allow errors to be caught by the
      trigger/function error handlers when the thd->is_fatal_sub_stmt_error flag
      is set. Procedures are still allowed to catch such errors.
      The sp_rcontext::find_handler function now accepts a THD handle as a parameter.
      The transaction_rollback_request and the is_fatal_sub_stmt_error flags are 
      added to the THD class. The are initialized by the THD class constructor.
      Now the ha_autocommit_or_rollback function rolls back main transaction
      when not in a sub statement and the thd->transaction_rollback_request
      is set.
      The THD::restore_sub_statement_state function now resets the 
      thd->is_fatal_sub_stmt_error flag on exit from a sub-statement.
      
      
      sql/ha_innodb.cc:
        Bug#24989: The DEADLOCK error is improperly handled by InnoDB.
        Now the convert_error_code_to_mysql() function doesn't call the
        ha_rollback_trans() function directly but rather calls the
        mark_transaction_to_rollback function and returns an error.
      sql/handler.cc:
        Bug#24989: The DEADLOCK error is improperly handled by InnoDB.
        Now the ha_autocommit_or_rollback function rolls back main transaction
        when not in a sub statement and the thd->transaction_rollback_request
        is set.
      mysql-test/r/innodb-big.result:
        Added a test case for the bug#24989: The DEADLOCK error is improperly handled by
        InnoDB.
      mysql-test/t/innodb-big.test:
        Added a test case for the bug#24989: The DEADLOCK error is improperly handled by
        InnoDB.
      sql/sql_class.h:
        Bug#24989: The DEADLOCK error is improperly handled by InnoDB.
        The transaction_rollback_request and the is_fatal_sub_stmt_error flags are 
        added to the THD class.
      sql/sql_class.cc:
        Bug#24989: The DEADLOCK error is improperly handled by InnoDB.
        Initialization of the transaction_rollback_request and the
        is_fatal_sub_stmt_error flags are added to the THD class constructor.
        The mark_transaction_to_rollback function is added.
        The THD::restore_sub_statement_state function now resets the
        thd->is_fatal_sub_stmt_error flag on exit from a sub-statement.
      sql/sp_rcontext.h:
        Bug#24989: The DEADLOCK error is improperly handled by InnoDB.
        The sp_rcontext::find_handler function now accepts a THD handle as a parameter.
        The in_sub_stmt flag is added to the sp_rcontext class.
      sql/sp_rcontext.cc:
        Bug#24989: The DEADLOCK error is improperly handled by InnoDB.
        The sp_rcontext::find_handler() now doesn't allow errors to be caught by the
        trigger/function error handlers when the thd->is_fatal_sub_stmt_error flag
        is set. Instead it tries to find a most inner procedure that isn't called
        directly or indirectly from any function/trigger.
        Procedures are still allowed to catch such errors.
        The sp_rcontext::find_handler function now accepts a THD handle as a parameter.
      9246c372
  2. 23 Dec, 2006 1 commit
    • unknown's avatar
      Many files: · 6b0853a3
      unknown authored
        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
      6b0853a3
  3. 03 Aug, 2006 1 commit
    • unknown's avatar
      Bug#8153 (Stored procedure with subquery and continue handler, wrong result) · f748b691
      unknown authored
      Before this fix,
      - a runtime error in a statement in a stored procedure with no error handlers
      was properly detected (as expected)
      - a runtime error in a statement with an error handler inherited from a non
      local runtime context (i.e., proc a with a handler, calling proc b) was
      properly detected (as expected)
      - a runtime error in a statement with a *local* error handler was executed
      as follows :
      a) the statement would succeed, regardless of the error condition, (bug)
      b) the error handler would be called (as expected).
      
      The root cause is that functions like my_messqge_sql would "forget" to set
      the thread flag thd->net.report_error to 1, because of the check involving
      sp_rcontext::found_handler_here().
      Failure to set this flag would cause, later in the call stack,
      in Item_func::fix_fields() at line 190, the code to return FALSE and consider
      that executing the statement was successful.
      
      With this fix :
      - error handling code, that was duplicated in different places in the code,
      is now implemented in sp_rcontext::handle_error(),
      - handle_error() correctly sets thd->net.report_error when a handler is
      present, regardless of the handler location (local, or in the call stack).
      
      A test case, bug8153_subselect, has been written to demonstrate the change
      of behavior before and after the fix.
      
      Another test case, bug8153_function_a, as also been writen.
      This test has the same behavior before and after the fix.
      This test has been written to demonstrate that the previous expected
      result of procedure bug18787, was incorrect, since select no_such_function()
      should fail and therefore not produce a result.
      
      The incorrect result for bug18787 has the same root cause as Bug#8153,
      and the expected result has been adjusted.
      
      
      sql/mysqld.cc:
        Bug#8153, use sp_rcontext::handle_error() to handle errors.
      sql/sql_error.cc:
        Bug#8153, use sp_rcontext::handle_error() to handle errors.
      sql/protocol.cc:
        Bug#8153, use sp_rcontext::handle_error() to handle errors.
      sql/sp_rcontext.h:
        Bug#8153, created helper sp_rcontext::handle_error() to handle errors.
      sql/sp_rcontext.cc:
        Bug#8153, created helper sp_rcontext::handle_error() to handle errors.
      mysql-test/t/sp.test:
        Bug#8153, added test cases.
      mysql-test/r/sp.result:
        Bug#8153, added test cases, fixed expected result of bug18787.
      f748b691
  4. 15 May, 2006 1 commit
    • unknown's avatar
      BUG#18037: Fix stack corruption in THD::rollback_item_tree_changes(). · dccd333e
      unknown authored
        
      Stored procedure execution sometimes placed the address of auto variables
      in the list of Item changes to undo in THD::rollback_item_tree_changes().
      This could cause stack corruption.
      
      
      sql/sp_head.cc:
        Avoid storing address of auto variables in global rollback list, to
        prevent stack memory corruption.
      sql/sp_head.h:
        Avoid storing address of auto variables in global rollback list, to
        prevent stack memory corruption.
      sql/sp_rcontext.cc:
        Avoid storing address of auto variables in global rollback list, to
        prevent stack memory corruption.
      sql/sp_rcontext.h:
        Avoid storing address of auto variables in global rollback list, to
        prevent stack memory corruption.
      sql/sql_class.cc:
        Avoid storing address of auto variables in global rollback list, to
        prevent stack memory corruption.
      dccd333e
  5. 07 Apr, 2006 1 commit
    • unknown's avatar
      Renaming sp_pcontext members and methods; less cryptic and more consistent. · 148cf113
      unknown authored
      Also added comments, and fixing some coding style (mostly in comments too).
      There are no functional changes, so no tests or documentation needed.
      (This was originally part of a bugfix, but it was decided to not include this
       in that patch; instead it's done separately.)
      
      
      sql/sp_head.cc:
        Renaming sp_pcontext members and methods; less cryptic and more consistent.
      sql/sp_head.h:
        Renaming sp_pcontext members and methods; less cryptic and more consistent.
      sql/sp_pcontext.cc:
        Renaming sp_pcontext members and methods; less cryptic and more consistent.
        Also added comments, and fixing some coding style (mostly in comments too).
      sql/sp_pcontext.h:
        Renaming sp_pcontext members and methods; less cryptic and more consistent.
        Also added comments, and fixing some coding style (mostly in comments too).
      sql/sp_rcontext.cc:
        Renaming sp_pcontext members and methods; less cryptic and more consistent.
      sql/sp_rcontext.h:
        Renaming sp_pcontext members and methods; less cryptic and more consistent.
      sql/sql_yacc.yy:
        Renaming sp_pcontext members and methods; less cryptic and more consistent.
      148cf113
  6. 01 Feb, 2006 1 commit
  7. 25 Jan, 2006 1 commit
    • unknown's avatar
      Fixed BUGS#15011: error handler for mysql errno in nested block not activated · cc037976
      unknown authored
        For nested sql errno handlers (unlike sqlexception and other), we didn't stop
        searching when the innermost handler was found - now make sure we do.
      
      
      mysql-test/r/sp.result:
        Updated result for BUG#15011.
      mysql-test/t/sp.test:
        New testcase for BUG#15011.
      sql/sp_rcontext.cc:
        Make sure we stop at the innermost sql_errno handler.
      cc037976
  8. 17 Jan, 2006 1 commit
  9. 13 Dec, 2005 1 commit
    • unknown's avatar
      Fixed BUG#15231: Stored procedure bug with not found condition handler · 5e84bbcb
      unknown authored
        Make the distinction between "exception conditions" and "completion
        conditions" (warning and "no data") as defined by the standard. The latter
        should not terminate a routine if no handler is found in the lexical scope.
      
      
      mysql-test/r/sp.result:
        New test case for BUG#15231.
        Moved part of the test for BUG#7049 to the new testcase (since it was actually
        an example of 15231).
      mysql-test/t/sp.test:
        New test case for BUG#15231.
        Moved part of the test for BUG#7049 to the new testcase (since it was actually
        an example of 15231).
      sql/sp_rcontext.cc:
        Only search for matching condition handlers in caller's contexts if it's
        an exception conditition.
      5e84bbcb
  10. 07 Dec, 2005 1 commit
    • unknown's avatar
      Patch for WL#2894: Make stored routine variables work · 6b2f1309
      unknown authored
      according to the standard.
      
      The idea is to use Field-classes to implement stored routines
      variables. Also, we should provide facade to Item-hierarchy
      by Item_field class (it is necessary, since SRVs take part
      in expressions).
      
      The patch fixes the following bugs:
        - BUG#8702: Stored Procedures: No Error/Warning shown for inappropriate data 
          type matching; 
       
        - BUG#8768: Functions: For any unsigned data type, -ve values can be passed 
          and returned; 
       
        - BUG#8769: Functions: For Int datatypes, out of range values can be passed 
          and returned; 
       
        - BUG#9078: STORED PROCDURE: Decimal digits are not displayed when we use 
          DECIMAL datatype; 
       
        - BUG#9572: Stored procedures: variable type declarations ignored; 
       
        - BUG#12903: upper function does not work inside a function; 
       
        - BUG#13705: parameters to stored procedures are not verified; 
       
        - BUG#13808: ENUM type stored procedure parameter accepts non-enumerated
          data; 
       
        - BUG#13909: Varchar Stored Procedure Parameter always BINARY string (ignores 
          CHARACTER SET); 
       
        - BUG#14161: Stored procedure cannot retrieve bigint unsigned;
      
        - BUG#14188: BINARY variables have no 0x00 padding;
      
        - BUG#15148: Stored procedure variables accept non-scalar values;
      
      
      mysql-test/r/ctype_ujis.result:
        Explicitly specify correct charset.
      mysql-test/r/schema.result:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/r/show_check.result:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/r/skip_name_resolve.result:
        Ignore columns with unpredictable values.
      mysql-test/r/sp-big.result:
        Add cleanup statement.
      mysql-test/r/sp-dynamic.result:
        Add cleanup statements.
      mysql-test/r/sp.result:
        Update result file.
      mysql-test/r/sum_distinct-big.result:
        Update result file.
      mysql-test/r/type_newdecimal-big.result:
        Update result file.
      mysql-test/t/ctype_ujis.test:
        Explicitly specify correct charset.
      mysql-test/t/schema.test:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/t/show_check.test:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/t/skip_name_resolve.test:
        Ignore columns with unpredictable values.
      mysql-test/t/sp-big.test:
        Add cleanup statement.
      mysql-test/t/sp-dynamic.test:
        Add cleanup statements.
      mysql-test/t/sp.test:
        Non-scalar values prohibited for assignment to SP-vars;
        polishing.
      mysql-test/t/type_newdecimal-big.test:
        Update type specification so that the variables
        can contain the large values used in the test.
      sql/field.cc:
        Extract create_field::init() to initialize an existing
        instance of create_field from new_create_field().
      sql/field.h:
        Extract create_field::init() to initialize an existing
        instance of create_field from new_create_field().
      sql/item.cc:
        - Introduce a new class: Item_sp_variable -- a base class
          of stored-routine-variables classes;
        - Introduce Item_case_expr -- an Item, which is used to access
          to the expression of CASE statement;
      sql/item.h:
        - Introduce a new class: Item_sp_variable -- a base class
          of stored-routine-variables classes;
        - Introduce Item_case_expr -- an Item, which is used to access
          to the expression of CASE statement;
      sql/item_func.cc:
        Pass the Field (instead of Item) for the return value of
        a function to the function execution routine.
      sql/item_func.h:
        Pass the Field (instead of Item) for the return value of
        a function to the function execution routine.
      sql/mysql_priv.h:
        Move create_virtual_tmp_table() out of sql_select.h.
      sql/sp.cc:
        Use create_result_field() instead of make_field().
      sql/sp_head.cc:
        - Add a function to map enum_field_types to Item::Type;
        - Add sp_instr_push_case_expr instruction -- an instruction
          to push CASE expression into the active running context;
        - Add sp_instr_pop_case_expr instruction -- an instruction
          to pop CASE expression from the active running context;
        - Adapt the SP-execution code to using Fields instead of Items
          for SP-vars;
        - Use create_field structure for field description instead of
          a set of members.
      sql/sp_head.h:
        - Add a function to map enum_field_types to Item::Type;
        - Add sp_instr_push_case_expr instruction -- an instruction
          to push CASE expression into the active running context;
        - Add sp_instr_pop_case_expr instruction -- an instruction
          to pop CASE expression from the active running context;
        - Adapt the SP-execution code to using Fields instead of Items
          for SP-vars;
        - Use create_field structure for field description instead of
          a set of members.
      sql/sp_pcontext.cc:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Add an operation to retrieve a list of defined SP-vars
          from the processing context recursively.
      sql/sp_pcontext.h:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Add an operation to retrieve a list of defined SP-vars
          from the processing context recursively.
      sql/sp_rcontext.cc:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Use a tmp virtual table to store SP-vars instead of Items;
        - Provide operations to work with CASE expresion.
      sql/sp_rcontext.h:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Use a tmp virtual table to store SP-vars instead of Items;
        - Provide operations to work with CASE expresion.
      sql/sql_class.cc:
        - Reflect Item_splocal ctor changes;
        - Item_splocal::get_offset() has been renamed to get_var_idx().
      sql/sql_class.h:
        Polishing.
      sql/sql_parse.cc:
        Extract create_field::init() to initialize an existing
        instance of create_field from new_create_field().
      sql/sql_select.cc:
        Take care of BLOB columns in create_virtual_tmp_table().
      sql/sql_select.h:
        Move create_virtual_tmp_table() out of sql_select.h.
      sql/sql_trigger.cc:
        Use boolean constants for boolean type instead of numerical ones.
      sql/sql_yacc.yy:
        Provide an instance of create_field for each SP-var.
      mysql-test/include/sp-vars.inc:
        The definitions of common-procedures, which are created
        under different circumstances.
      mysql-test/r/sp-vars.result:
        Result file for the SP-vars test.
      mysql-test/sp-vars.test:
        A new test for checking SP-vars functionality.
      6b2f1309
  11. 26 Sep, 2005 2 commits
    • unknown's avatar
      Fixed BUG#7049: Stored procedure CALL errors are ignored · a5925a90
      unknown authored
        Search the chain of sp_rcontexts recursively for handlers. If one is found,
        it will be detected in the sp_head::execute() method at the corresponding
        level.
      
      
      mysql-test/r/sp.result:
        New test case for BUG#7049.
        Note that the spurious warnings in the BUG#12379 test now are gone (as expected).
      mysql-test/t/sp.test:
        New test case for BUG#7049.
      sql/sp_head.cc:
        Link sp_rcontexts to allow catching errors across invokation boundaries.
        (Also fixed print method for the hreturn instruction.)
      sql/sp_rcontext.cc:
        Link sp_rcontexts to allow catching errors across invokation boundaries.
        If a handler is not found in the current sp_rcontext, recurse into the previous ones (if any).
      sql/sp_rcontext.h:
        Link sp_rcontexts to allow catching errors across invokation boundaries.
      a5925a90
    • unknown's avatar
      Fixed BUG#6127: Stored procedure handlers within handlers don't work · ad8ff141
      unknown authored
          Replaced the dumb in-handler/not-in-handler check with a proper recursion
          check of handlers being executed.
          (Re-commit in a different tree, to make push possible.)
      
      
      mysql-test/r/sp.result:
        New test case for BUG#6127.
      mysql-test/t/sp.test:
        New test case for BUG#6127.
      sql/sp_head.cc:
        Replaced the setting of ctx->in_handler with a enter/exit handler methods.
      sql/sp_rcontext.cc:
        Replaced the boolean in_handler flag with a stack of handlers being exectuted, for proper recursion check.
      sql/sp_rcontext.h:
        Replaced the boolean in_handler flag with a stack of handlers being exectuted, for proper recursion check.
        (And added some comments in the sp_rcontext class.)
      ad8ff141
  12. 21 Sep, 2005 1 commit
    • unknown's avatar
      A fix and a test case for Bug#6513 "Test Suite: Values inserted by using · 813fc410
      unknown authored
      cursor is interpreted latin1 character and Bug#9819 "Cursors: Mysql Server
      Crash while fetching from table with 5 million records."
      A fix for a possible memory leak when fetching into an SP cursor
      in a long loop.
      The patch uses a common implementation of cursors in the binary protocol and 
      in stored procedures and implements materialized cursors.
      For implementation details, see comments in sql_cursor.cc
      
      
      include/my_sys.h:
        - declaration for multi_alloc_root
      libmysqld/Makefile.am:
        - drop protocol_cursor.cc, add sql_cursor.cc (replaces the old
        implementation of cursors with a new one)
      mysql-test/r/ctype_ujis.result:
        - test results fixed (a test case for Bug#6513)
      mysql-test/r/sp-big.result:
        - test results fixed (a test case for Bug#9819)
      mysql-test/t/ctype_ujis.test:
        Add a test case for Bug#6513 "Test Suite: Values inserted by using cursor is
         interpreted latin1 character"
      mysql-test/t/sp-big.test:
        Add a restricted test case for Bug#9819 "Cursors: Mysql Server Crash
        while fetching from table with 5 million records."
      mysys/my_alloc.c:
        - an implementation of multi_alloc_root; this is largely a copy-paste
          from mulalloc.c, but the function is small and there is no easy way
          to reuse the existing C function.
      sql/Makefile.am:
        - add sql_cursor.h, sql_cursor.cc (a new implementation of stored procedure
        cursors) and drop protocol_cursor.cc (the old one)
      sql/handler.cc:
        - now TABLE object has its mem_root always initialized.
          Adjust the implementation handler::ha_open
      sql/item_subselect.cc:
        - adjust to the changed declaration of st_select_lex_unit::prepare
      sql/protocol.h:
        - drop Protocol_cursor
      sql/sp_head.cc:
        - move juggling with Query_arena::free_list and Item::next to
          sp_eval_func_item, as this is needed in 3 places already.
      sql/sp_head.h:
        - declare a no-op implementation for cleanup_stmt in sp_instr_cpush.
          This method is needed for non-materializing cursors, which are yet not 
          used in stored procedures.
        - declaration for sp_eval_func_item
      sql/sp_rcontext.cc:
        - reimplement sp_cursor using the new implementation of server side cursors.
        - use sp_eval_func_item to assign values of SP variables from the
          row fetched from a cursor. This should fix a possible memory leak in 
          the old implementation of sp_cursor::fetch
      sql/sp_rcontext.h:
        - reimplement sp_cursor using the new implementation of server side cursors.
      sql/sql_class.cc:
        - disable the functionality that closes transient cursors at commit/rollback;
          transient cursors are not used in 5.0, instead we use materialized ones.
          To be enabled in a later version.
      sql/sql_class.h:
        - adjust to the rename Cursor -> Server_side_cursor
        - additional declarations of select_union used in materialized cursors
      sql/sql_derived.cc:
        - reuse bits of tmp table code in UNION, derived tables, and materialized
          cursors
        - cleanup comments
      sql/sql_lex.h:
        - declarations of auxiliary methods used by materialized cursors
        - a cleanup in st_select_lex_unit interface
      sql/sql_list.h:
        - add an array operator new[] to class Sql_alloc
      sql/sql_prepare.cc:
        - split the tight coupling of cursors and prepared statements to reuse 
          the same implementation in stored procedures
        - cleanups of error processing in Prepared_statement::{prepare,execute}
      sql/sql_select.cc:
        - move the implementation of sensitive (non-materializing) cursors to 
          sql_cursor.cc
        - make temporary tables self-contained: the table, its record and fields
          are allocated in TABLE::mem_root. This implementation is not clean
          and resets thd->mem_root several times because of the way create_tmp_table 
          works (many additional things are done inside it).
        - adjust to the changed declaration of st_select_lex_unit::prepare
      sql/sql_select.h:
        - move the declaration of sensitive (non-materializing) cursors to 
          sql_cursor.cc
      sql/sql_union.cc:
        - move pieces of st_select_unit::prepare to select_union and st_table
          methods to be able to reuse code in the implementation of materialized
          cursors
      sql/sql_view.cc:
        - adjust to the changed signature of st_select_lex_unit::prepare
      sql/table.cc:
        - implement auxiliary st_table methods for use with temporary tables
      sql/table.h:
        - add declarations for auxiliary methods of st_table used to work with 
         temporary tables
      tests/mysql_client_test.c:
        - if cursors are materialized, a parallel update of the table used
          in the cursor may go through: update the test.
      sql/sql_cursor.cc:
        New BitKeeper file ``sql/sql_cursor.cc'' -- implementation of server side
        cursors
      sql/sql_cursor.h:
        New BitKeeper file ``sql/sql_cursor.h'' - declarations for
        server side cursors.
      813fc410
  13. 18 Aug, 2005 1 commit
    • unknown's avatar
      Fix for Bug#11247 Stored procedures: Function calls in long loops leak memory · fa19a9f2
      unknown authored
          and Bug#12297 SP crashes the server if data inserted inside a lon loop
      Third commit attempt. With fixes to the issues, showed up after full rebuild and
      tests on other hosts.
      
      
      mysql-test/r/rpl_sp.result:
        New warnings appeared in result file, as now we always create spcont in a stored routine.
        This is correct behaviour. We swallowed some warnings, as we used thd->spcont to check whether
        we are in the SP though we didn't set spcont in certain cases. This is fixed now.
      mysql-test/r/sp.result:
        fixed result file to reflect new tests
      mysql-test/t/sp.test:
        Added tests for bugs. Though one of them is disabled, as it fails because of the other bug.
        It should be enabled, when bug 12297 is fixed.
      sql/sp_head.cc:
        Per-instruction arena is implemented
      sql/sp_rcontext.cc:
         Now we should deal with callers_arena->free_list when we employ reuse mechanism with callers_arena
         switched during sp_eval_func_item
      sql/sp_rcontext.h:
        Add new member to sp_rcontext class, in order to handle instructions with assignment
        and/or with nested SP processing properly.
      fa19a9f2
  14. 30 Jun, 2005 1 commit
    • unknown's avatar
      Fixed BUG#11529: crash server after use stored procedure · a95bb38a
      unknown authored
      Make sure to cleanup the items for a cursor query after each open, otherwise
      it's done too late, after the run-time mem_root is freed.
      
      
      mysql-test/r/sp.result:
        New test case for BUG#11529.
      mysql-test/t/sp.test:
        New test case for BUG#11529.
      sql/sp_head.cc:
        Add a back pointer from a sp_cursor to its cpush instruction, and use it to set
        the arena and cleanup the items for the cursor's query when opening it.
      sql/sp_rcontext.cc:
        Store pointer in sp_cursor to its cpush instruction.
      sql/sp_rcontext.h:
        Store pointer in sp_cursor to its cpush instruction.
      a95bb38a
  15. 14 Jun, 2005 1 commit
    • unknown's avatar
      prohibit opening Query cache for SP cursors (BUG#9715) · e1c2646a
      unknown authored
      mysql-test/r/query_cache.result:
        testing cursors in SP with QC
        testing suspicious but working using selects in function with QC
      mysql-test/t/query_cache.test:
        testing cursors in SP with QC
        testing suspicious but working using selects in function with QC
      sql/sp_head.h:
        method for prohibiting of QC using SP query
      sql/sp_rcontext.cc:
        prohibit opening Query cache for SP cursors
      sql/sp_rcontext.h:
        constructor moved to .cc file to be able to use methods from lex_keeper
      e1c2646a
  16. 10 Jun, 2005 1 commit
    • unknown's avatar
      Post review and additional fix for BUG#10968: Stored procedures: crash if long loop. · 03949f8c
      unknown authored
        Fixed valgrind complaints. This fixes the memory leak problems for
        procedured, and partially for functions. There's still a leak involving
        results from functions that turned out to be too involved, so it will be
        fixed separately.
      
      
      mysql-test/r/sp.result:
        Fixed some minor mistake (spotted while debugging).
      mysql-test/t/sp.test:
        Fixed some minor mistake (spotted while debugging).
      sql/item_func.cc:
        Moved Item_func_sp::cleanup() from item_func.h to ease debugging,
        and made a debug output come out right.
      sql/item_func.h:
        Moved Item_func_sp::cleanup() to item_func.cc to ease debugging.
      sql/sp_head.cc:
        Fixed valgrind problems with the previous memory leak fix (unit cleanup and
        putting result field in a differen mem_root), and removed prealloc flag from
        init_alloc_root() calls.
      sql/sp_rcontext.cc:
        New mem_root pointer used for return fields from functions.
      sql/sp_rcontext.h:
        New mem_root pointer used for return fields from functions.
      03949f8c
  17. 05 Jun, 2005 2 commits
    • unknown's avatar
      sp_rcontext.cc, sp_pcontext.cc, sp_head.cc, sp_cache.cc, ha_federated.cc: · 9a3bb0c7
      unknown authored
        Include "mysql_priv.h" before testing USE_PRAGMA_IMPLEMENTATION
      
      
      sql/ha_federated.cc:
        Include "mysql_priv.h" before testing USE_PRAGMA_IMPLEMENTATION
      sql/sp_cache.cc:
        Include "mysql_priv.h" before testing USE_PRAGMA_IMPLEMENTATION
      sql/sp_head.cc:
        Include "mysql_priv.h" before testing USE_PRAGMA_IMPLEMENTATION
      sql/sp_pcontext.cc:
        Include "mysql_priv.h" before testing USE_PRAGMA_IMPLEMENTATION
      sql/sp_rcontext.cc:
        Include "mysql_priv.h" before testing USE_PRAGMA_IMPLEMENTATION
      9a3bb0c7
    • unknown's avatar
      Cleanup during review · b08b3a15
      unknown authored
      Simple optimization for 2 argument usage to function of variable arguments
      Fix stack overrun when using 1+1+1+1+1+1+1+....
      Update crash-me results for 5.0
      Don't call post_open if pre_open() fails (optimization)
      
      
      
      sql-bench/limits/mysql-4.1.cfg:
        Rename: sql-bench/limits/mysql.cfg -> sql-bench/limits/mysql-4.1.cfg
      libmysql/libmysql.c:
        More portable define
      mysql-test/mysql-test-run.sh:
        Write also InnoDB warnings to warnings.log
      mysql-test/t/type_newdecimal.test:
        Don't get errors if innodb is not defined
      mysys/my_alloc.c:
        Cleanup comments
      mysys/thr_lock.c:
        Cleanup comments
      sql/item.h:
        Remove not needed initializer
      sql/item_func.cc:
        Simple optimization for 2 argument usage to function of variable arguments
      sql/mysql_priv.h:
        We use more stackspace with the introduction of int_op() etc.
        This change ensures we don't run out of stack when doing 1+1+1+1...
        (Tested on x86, 32 bit)
      sql/sp_head.cc:
        Don't call post_open if pre_open() fails
      sql/sp_rcontext.cc:
        More comments
        Change so that post_open() doesn't have to be called if pre_open() fails
      sql/sql_parse.cc:
        Fold long lines
      sql/sql_select.cc:
        Simple reorganization to reduce number of if's
        Ensure that table_map is updated for where clause (fixed warning from valgrind)
      b08b3a15
  18. 27 May, 2005 1 commit
    • unknown's avatar
      Add USE_PRAGMA_INTERFACE and USE_PRAGMA_IMPLEMENTATION to files not existsing in 4.1 · 73b4415c
      unknown authored
      sql/hash_filo.h:
        USE_PRAGMA_INTERFACE
      sql/sp_cache.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sp_cache.h:
        USE_PRAGMA_INTERFACE
      sql/sp_head.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sp_head.h:
        USE_PRAGMA_INTERFACE
      sql/sp_pcontext.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sp_pcontext.h:
        USE_PRAGMA_INTERFACE
      sql/sp_rcontext.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sp_rcontext.h:
        USE_PRAGMA_INTERFACE
      73b4415c
  19. 23 May, 2005 1 commit
    • unknown's avatar
      Fixed on BUG#6048: Stored procedure causes operating system reboot · 9c79a9d6
      unknown authored
        Memory leak in locally evalutated expressions during SP execution fixed by
        reusing allocated item slots when possible.
        Note: No test case added, since the test is a stress test that tries to make
        the machine to run out of memory.
        Second attempt, now tested with debug build, valgrind build, max (optimized)
        build, with and without --debug, --vagrind and --ps-protocol.
        Errors in trigger and view test with --debug in debug build where present
        before this patch, and likewise for valgrind warnings for view test in
        valgrind build with --ps-protocol.
      
      
      sql/item.cc:
        Init rsize in Item (for SP item reusal).
      sql/item.h:
        Addes special new operator for reuse of Items, for SP internal use only.
      sql/sp_head.cc:
        Reuse items assigned internally in SPs when possible.
      sql/sp_rcontext.cc:
        Reuse items assigned internally in SPs when possible.
        Moved the local variable assignment here (from sp_head) to avoid
        duplicated code.
      sql/sp_rcontext.h:
        New arg to sp_rcontext::set_item_eval() (and some coding style).
      sql/sql_class.cc:
        Adjusted call to new set_item_eval().
      9c79a9d6
  20. 19 May, 2005 1 commit
  21. 18 May, 2005 1 commit
    • unknown's avatar
      Fixed BUG#6048: Stored procedure causes operating system reboot. · 90a2edd7
      unknown authored
        Memory leak in locally evalutated expressions during SP execution fixed by
        reusing allocated item slots when possible.
        Note: No test case added, since the test is a stress test that tries to make
        the machine to run out of memory.
      
      
      sql/item.cc:
        Make it possible to reuse allocated item slots (for use in SP execution).
      sql/item.h:
        Make it possible to reuse allocated item slots (for use in SP execution).
      sql/sp_head.cc:
        Reuse allocated item slots for expression evalutation during SP execution.
      sql/sp_rcontext.cc:
        Updated sp_eval_func_item() call, and prevent item reuse in reused frames (for handlers).
      90a2edd7
  22. 08 May, 2005 1 commit
    • unknown's avatar
      Item::fix_field need correct pointer on item reference to chnge it if itis... · a6b15466
      unknown authored
      Item::fix_field need correct pointer on item reference to chnge it if itis need, so support of correct item address added to SP commands (BUG#5963)
      some optimisation of IF/NOT IF ptomised to Pem
      
      
      mysql-test/r/sp.result:
        test for bug#5963
      mysql-test/t/sp.test:
        test for bug#5963
      sql/item.cc:
        new method which return reference on Item for SP variables support
      sql/item.h:
        comment fixed
        method added
      sql/sp_head.cc:
        preparation of item made separate function
        we do not need new constant Item to check IF/IF NOT
        support of passing correct address of item for fix_fields method
      sql/sp_rcontext.cc:
        support of Item address passing to fix_fields
      sql/sp_rcontext.h:
        support of correct address passing to fix_fields
      sql/sql_class.cc:
        support of correct item address passing to fix_field
      a6b15466
  23. 14 Apr, 2005 1 commit
    • unknown's avatar
      Fixed BUG#9598: stored procedure call within stored procedure · e0fdbeba
      unknown authored
                      overwrites IN variable
        and added error checking of variables for [IN]OUT parameters while
        rewriting the out parameter handling.
      
      
      mysql-test/r/sp-error.result:
        New test case for non-variable argument for [IN]OUT parameters.
        (And changed to qualified names in some other error messages.)
      mysql-test/r/sp.result:
        New test case for BUG#9598.
      mysql-test/t/sp-error.test:
        New test case for non-variable argument for [IN]OUT parameters.
      mysql-test/t/sp.test:
        New test case for BUG#9598.
      sql/item.h:
        Need to distinguish between SP local variable items and other items,
        for error checking and [IN]OUT parameter handling.
      sql/share/errmsg.txt:
        New error message for non-variable arguments for [IN]OUT parameters in stored procedures.
      sql/sp_head.cc:
        Rewrote the [IN]OUT parameter handling in procedure invokation, to make
        it work properly when using user variables in sub-calls.
        Also added error checking for non-variable arguments for such parameters
        (and changed to qualified names for wrong number of arg. errors).
      sql/sp_rcontext.cc:
        No need to keep track on the out index for an [IN]OUT parameter any more.
      sql/sp_rcontext.h:
        No need to keep track on the out index for an [IN]OUT parameter any more.
      e0fdbeba
  24. 08 Apr, 2005 2 commits
    • unknown's avatar
      Fixed BUG#6900: Stored procedure inner handler ignored · 4215d120
      unknown authored
        and BUG#9074: STORED PROC: The scope of every handler declared is not properly applied
      
      
      mysql-test/r/sp.result:
        New test cases for BUG#6900 and BUG#9074 (duplicates).
      mysql-test/t/sp.test:
        New test cases for BUG#6900 and BUG#9074 (duplicates).
      sql/sp_rcontext.cc:
        Corrected logic for finding condition handlers - pick the innermost one.
      4215d120
    • unknown's avatar
      Fixed BUG#7299: Stored procedures: exception handler catches not-found conditions · 5f006200
      unknown authored
      mysql-test/r/sp-error.result:
        Added test case for BUG#7299.
      mysql-test/t/sp-error.test:
        Added test case for BUG#7299.
      sql/sp_rcontext.cc:
        Corrected cut&paste error; make sure we only catch actual errors with sqlexception.
      5f006200
  25. 04 Mar, 2005 1 commit
    • unknown's avatar
      Better approach for prelocking of tables for stored routines execution · ac9f68b9
      unknown authored
      and some SP-related cleanups.
      
      - We don't have separate stage for calculation of list of tables
        to be prelocked and doing implicit LOCK/UNLOCK any more.
        Instead we calculate this list at open_tables() and do implicit
        LOCK in lock_tables() (and UNLOCK in close_thread_tables()).
        Also now we support cases when same table (with same alias) is
        used several times in the same query in SP.
      
      - Cleaned up execution of SP. Moved all common code which handles
        LEX and does preparations before statement execution or complex
        expression evaluation to auxilary sp_lex_keeper class. Now 
        all statements in SP (and corresponding instructions) that
        evaluate expression which can contain subquery have their
        own LEX.
      
      
      mysql-test/r/lock.result:
        Replaced wrong error code with the correct one after fixing bug in
        SP-locking.
      mysql-test/r/mysqldump.result:
        Added dropping of view which is used in test to its beginning.
      mysql-test/r/sp.result:
        Added tests for improved SP-locking.
        Temporarily disabled tests for SHOW PROCEDURE STATUS and alike
        (Until Monty will allow to open mysql.proc under LOCK TABLES without
        mentioning it in lock list).
        Replaced wrong results of test for bug #5240 with correct results after
        fixing bug in handling of cursors.
      mysql-test/t/lock.test:
        Replaced wrong error code with the correct one after fixing bug in
        SP-locking.
      mysql-test/t/mysqldump.test:
        Added dropping of view which is used in test to its beginning.
      mysql-test/t/sp.test:
        Added tests for improved SP-locking.
        Temporarily disabled tests for SHOW PROCEDURE STATUS and alike
        (Until Monty will allow to open mysql.proc under LOCK TABLES without
        mentioning it in lock list).
        Removed test for bug #1654 since we already test exactly this function
        in one of SP-locking tests.
        Removed comment about cursor's wrong behavior in test for bug #5240
        after fixing bug which was its cause.
      sql/item_func.cc:
        Removed comment which is no longer true.
      sql/mysql_priv.h:
        Changed open_tables() signature.
        Now its 2nd parameter is in/out since it can add elements to table list.
      sql/sp.cc:
        sp_find_procedure():
         Added one more parameter which enforces cache only lookup.
        
        sp_merge_hash():
         Now uses its return value to indicate that first of two hashes changed
         as result of merge.
        
        sp_cache_routines():
         This function caches all stored routines used in query now.
      sql/sp.h:
        - sp_find_procedure() now has one more parameter which enforces cache only
          lookup.
        - sp_merge_hash() now uses its return value to indicate that first of two
          hashes changed as result of merge.
        - sp_cache_routines() caches all stored routines now. So it does not need
          third argument any more.
      sql/sp_head.cc:
        sp_head::sp_head():
         Added initialization of new m_spfuns and m_spprocs members.
        
        sp_head::execute():
         Let us save/restore part of thread context which can be damaged by
         execution of instructions.
        sp_head::execute_function()/execute_procedure():
         Now it is responsibility of caller to close tables used in
         subqueries which are passed as routine parameters.
        
        sp_head::restore_lex():
         Let us accumulate information about routines used by this one
         in new m_spfuns, m_spprocs hashes.
        
        sp_lex_keeper::reset_lex_and_exec_core()
         Main method of new auxilary sp_lex_keeper class to which instructions 
         delegate responsibility for handling LEX and preparations before
         executing statement or calculating complex expression.
        
        Since all instructions which calculate complex expression or execute
        command now use sp_lex_keeper they have to implement
        sp_instr::exec_core() method. Most of instruction specific logic
        has moved from sp_instr::execute() to this new method.
        
        Removed sp_instr_set_user_var class which is no longer used, because
        nowdays we allow execution of statements in stored functions and
        triggers.
        
        sp_merge_table_list() became sp_head::merge_table_list() method. It
        also treats sp_head::m_sptabs as multi-set of tables now.
        
        sp_hash_to_table_list() became sp_head::add_used_tables_to_table_list().
        It takes into account that sp_head::m_sptabs is multi-set and allocates
        object into persistent arena of PS.
        
        Removed sp_merge_table_hash(), sp_open_and_lock_tables(),
        sp_unlock_tables(), sp_merge_routine_tables() methods since they are not
        used by new prelocking mechanism.
        
        Added sp_add_sp_tables_to_table_list() which serves for adding tables needed
        by routines used in query to the query table list for prelocking.
      sql/sp_head.h:
        class sp_head:
        - Added m_spfuns, m_spprocs members for storing names of routines used
          by this routine.
        - Added add_used_tables_to_table_list() method which allows to add
          tables needed by this routine to query's table list.
        - Converted sp_merge_table_list() to sp_head::merge_table_list() method.
        - Changed semantics of THD::m_sptabs. Now it is multi-set which contains
          only tables which are used by this routine and not routines that are
          called from this one.
        
        Removed sp_merge_routine_tables(), sp_merge_table_hash(),
        sp_open_and_lock_tables(), sp_unlock_tables() calls since they are not
        used for our prelocking list calculation.
        
        Added auxilary sp_lex_keeper class to which instructions delegate
        responsibility for handling LEX and preparations before executing
        statement or calculating complex expression. This class uses
        new sp_instr::exec_core() method which is responsible for executing
        instruction's core function after all preparations were made.
        
        All instructions which hold and calculate complex expression now have
        their own LEX (by aggregating sp_lex_keeper instance). sp_instr_stmt
        now uses sp_lex_keeper too.
        
        Removed sp_instr_set_user_var class which is no longer used, because
        nowdays we allow execution of statements in stored functions and
        triggers.
      sql/sp_rcontext.cc:
        Now sp_cursor holds pointer to sp_lex_keeper instead of LEX.
      sql/sp_rcontext.h:
        Now sp_cursor holds pointer to sp_lex_keeper instead of LEX.
      sql/sql_acl.cc:
        acl_init(), grant_init():
          Now we use simple_open_n_lock_tables() instead of explicit
          calls to open_tables() and mysql_lock_tables().
      sql/sql_base.cc:
        Implemented support for execution of statements in "prelocked" mode.
        
        When we have statement which uses stored routines explicitly or
        implicitly (via views or triggers) we have to open and lock all tables
        for these routines at the same time as tables for the main statement.
        In fact we have to do implicit LOCK TABLES at the begining of such
        statement and implict UNLOCK TABLES at its end. We call such mode
        "prelocked".
        
        When open_tables() is called for the statement tables which are needed
        for execution of routines used by it are added to its tables list
        (this process also caches all routines used). Implicit use of routines
        is discovered when we open view or table with trigger and apropriate
        tables are added to the table list at this moment. Statement which has
        such extra tables in its list (well actually any that uses functions)
        is marked as requiring prelocked mode for its execution.
        
        When lock_tables() sees such statement it will issue implicit LOCK TABLES
        for this extended table list instead of doing usual locking, it will also
        set THD::prelocked_mode to indicate that we are in prelocked mode.
        
        When open_tables()/lock_tables() are called for statement of stored
        routine (substatement), they notice that we are running in prelocked mode
        and use one of prelocked tables from those that are not used by upper
        levels of execution.
        
        close_thread_tables() for substatement won't really close tables used
        but will mark them as free for reuse instead.
        
        Finally when close_thread_tables() is called for the main statement it
        really unlocks and closes all tables used.
        
        Everything will work even if one uses such statement under real LOCK
        TABLES (we are simply not doing implicit LOCK/UNLOCK in this case).
      sql/sql_class.cc:
        Added initialization of THD::prelocked_mode member.
      sql/sql_class.h:
        - Added prelocked_mode_type enum and THD::prelocked_mode member
          which are used for indication whenever "prelocked mode" is on 
          (i.e. that statement uses stored routines and is executed under
           implicit LOCK TABLES).
        - Removed THD::shortcut_make_view which is no longer needed.
          We use TABLE_LIST::prelocking_placeholder for the same purprose
          now.
      sql/sql_handler.cc:
        Changed open_tables() invocation.
        Now its 2nd parameter is in/out since it can add elements to table list.
      sql/sql_lex.cc:
        lex_start():
          Added initialization of LEX::query_tables_own_last.
          Unused LEX::sptabs member was removed.
        st_lex::unlink_first_table()/link_first_table_back():
          We should update LEX::query_tables_last properly if table list
          contains(ed) only one element.
      sql/sql_lex.h:
        LEX:
        - Removed sptabs member since it is no longer used.
        - Added query_tables_own_last member, which if non-0 indicates that
          statement requires prelocking (implicit LOCK TABLES) for its execution
          and points to last own element in query table list. If it is zero
          then this query does not need prelocking.
        - Added requires_prelocking(), mark_as_requiring_prelocking(),
          first_not_own_table() inline methods to incapsulate and simplify
          usage of this new member.
      sql/sql_parse.cc:
        dispatch_command():
          To properly leave prelocked mode when needed we should call
          close_thread_tables() even if there are no open tables.
        mysql_execute_command():
        - Removed part of function which were responsible for doing implicit
          LOCK TABLES before statement execution if statement used stored 
          routines (and doing UNLOCK TABLES at the end).
          Now we do all this in open_tables()/lock_tables()/close_thread_tables()
          instead.
        - It is also sensible to reset errors before execution of statement
          which uses routines.
        - SQLCOM_DO, SQLCOM_SET_OPTION, SQLCOM_CALL
          We should always try to open tables because even if statement has empty
          table list, it can call routines using tables, which should be preopened
          before statement execution.
        - SQLCOM_CALL
          We should not look up routine called in mysql.proc, since it should be
          already cached by this moment by open_tables() call.
        - SQLCOM_LOCK_TABLES
          it is better to use simple_open_n_lock_tables() since we want to avoid
          materialization of derived tables for this command.
      sql/sql_prepare.cc:
        mysql_test_update():
          Changed open_tables() invocations. Now its 2nd parameter is in/out
          since it can add elements to table list.
        check_prepared_statement():
          Since now we cache all routines used by statement in open_tables() we 
          don't need to do it explicitly.
        mysql_stmt_prepare():
          Now we should call close_thread_tables() when THD::lex points to the
          LEX of statement which opened tables.
        reset_stmt_for_execute():
          Commented why we are resetting all tables in table list.
      sql/sql_trigger.h:
        Table_triggers_list::process_triggers():
          We should surpress sending of ok packet when we are calling trigger's
          routine, since now we allow statements in them.
      sql/sql_update.cc:
        Changed open_tables() invocations.
        Now its 2nd parameter is in/out since it can add elements to table list.
      sql/sql_view.cc:
        mysql_make_view():
        - Removed handling of routines used in view. Instead we add tables which
          are needed for their execution to statement's table list in 
          open_tables().
        - Now we use TABLE_LIST::prelocking_placeholder instead of 
          THD::shortcut_make_view for indicating that view is opened
          only to discover which tables and routines it uses (this happens
          when we build extended table list for prelocking). Also now we try
          to avoid to modify main LEX in this case (except of its table list).
        - Corrected small error we added tables to the table list of the main
          LEX without updating its query_tables_last member properly.
      sql/sql_yacc.yy:
        Now each expression which is used in SP statements and can contain
        subquery has its own LEX. This LEX is stored in corresponding sp_instr
        object and used along with Item tree for expression calculation.
        
        We don't need sp_instr_set_user_var() anymore since now we allow
        execution of statements in stored functions and triggers.
      sql/table.h:
        Added TABLE_LIST::prelocking_placeholder member for distinguishing
        elements of table list which does not belong to the statement itself
        and added there only for prelocking (as they are to be used by routines
        called by this statement).
      sql/tztime.cc:
        my_tz_init():
          Now we use more simplier simple_open_n_lock_tables() call instead of 
          open_tables()/lock_tables() pair.
      ac9f68b9
  26. 19 Feb, 2005 1 commit
    • unknown's avatar
      Fixed BUILD script to use --with-berkeley-db instead of --with-bdb · 64cc538b
      unknown authored
      Lots of small fixes to multi-precision-math path
      Give Note for '123.4e'
      Added helper functions type 'val_string_from_real()
      Don't give warnings for end space for string2decimal()
      Changed storage of values for SP so that we can detect length of argument without strlen()
      Changed interface for str2dec() so that we must supple the pointer to the last character in the buffer
      
      
      
      BUILD/SETUP.sh:
        with-bdb ->with-berkeley-db
      include/decimal.h:
        Make string2decimal and string2decimal_fixed inline
      mysql-test/r/func_group.result:
        More tests (to find bugs in precision math fixes)
      mysql-test/r/func_set.result:
        Test to cover more Item_func_field::val_xxx() code
      mysql-test/r/ps_6bdb.result:
        update results
      mysql-test/r/type_decimal.result:
        New tests
        Give note for '123.4e'
      mysql-test/r/type_newdecimal.result:
        Number of decimal changes (probably right, but hard to verify)
      mysql-test/t/func_group.test:
        More tests (to find bugs in precision math fixes)
      mysql-test/t/func_set.test:
        Test to cover more Item_func_field::val_xxx() code
      mysql-test/t/type_decimal.test:
        New tests to cover more cases in decimal.c
      sql/item.cc:
        Added helper functions type 'val_string_from_real()'
        Use new interfase to str2my_decimal()
        Moved nr_of_decimals() here (and made it static)
      sql/item.h:
        Added helper functions type 'val_string_from_real()'
      sql/item_func.cc:
        Style fixes
        Trivial optimizations
        Ensure null_value is set if my_decimal_add/sub/mul/div returns error
        Remove not needed Item_func_int_div::val_str()
        Join Item_func_signproc and Item_func_neg
        Fix that FIELD() works when first argument is NULL or one if it's arguments are NULL
        new str2my_decimal interface
      sql/item_func.h:
        Make Item_func_int_div inherit from Item_int_func (allows us to remove some virtual functions)
        Join Item_func_signproc & Item_func_neg
      sql/item_strfunc.cc:
        Move nr_of_decmails() to Item.cc (as it was only used here)
      sql/item_sum.cc:
        Style fixes
        Change a lot of code to use new helper converter functions in item.cc
        Moved Item_sum::val_decimal() to Item_sum_int::val_decimal()
        Fixed calls to wrong functions (Item_sum_num::val_int())
        Ensure that all hybrid functions checks hybrid_type in val_xxx() (As there is no gurantee that they are called in the right context)
        Simplify key_length allocation in Item_sum_sum_distinct()
        Simplified create_tmp_field() and reset_field()
        Fixed potential error in Item_sum_hybrid::reset_field()
        Optimize Item_sum_avg::update_field()
        Item_std_field() functions musted be fully coded becasue Item_variance_field::val_xxx functions called helper functions
        Coded missing Item_sum_ufd_xxx::val_decimal() functions
      sql/item_sum.h:
        Moved Item_sum::val_decimal() to Item_sum_int::val_decimal()
        Added missing Item_sum_ufd_xxx::val_decimal() functions
        Removed not used scale() function.
        Fixed that Item_std_field() works with decimal arguments
        Fixed that CREATE ... STD() will create a REAL field
      sql/log_event.cc:
        Ensure that we use same format for all types
      sql/my_decimal.cc:
        Don't give warnings for end space for string2decimal()
        Added dbug_print_decimal()
      sql/my_decimal.h:
        Style fixes
        Prototypes for new functions
        New interface for str2my_decimal()
      sql/mysql_priv.h:
        Made nr_of_decimals() static
      sql/protocol.cc:
        Simplify code (by assume that decimal can't be bigger than DECIMAL_MAX_STR_LENGTH]
      sql/protocol_cursor.cc:
        Changed storage of values for SP so that we can detect length of argument without strlen()
      sql/sp_head.cc:
        Simplify code for decimal handling by letting item handling conversion to decimal
      sql/sp_rcontext.cc:
        Use new method to get length of arguments
      sql/sql_analyse.cc:
        if -> switch
        Increase 'empty' if decimal value=0
        Remove usage of strcat()
      sql/sql_base.cc:
        Remove unnecessary checks
      sql/sql_class.cc:
        Remove not needed 'else'
        Removed not used variables
      sql/sql_select.cc:
        remove test for impossible condtion
      strings/decimal.c:
        Made two trivial functions macros
        Changed interface for str2dec() so that we must supple the pointer to the last character in the buffer
        This safer than before as we don't require an end \0 anymore (old code gave wrong answers in MySQL for some internals strings that where not \0 terminated)
        Detect error numbers of type '12.55e'
        str2dec() will now set 'to' to zero in case of errors
      64cc538b
  27. 08 Feb, 2005 1 commit
    • unknown's avatar
      Precision Math implementation · 91db48e3
      unknown authored
      BitKeeper/etc/ignore:
        Added client/decimal.c client/my_decimal.cc client/my_decimal.h to the ignore list
      91db48e3
  28. 12 Nov, 2004 1 commit
    • unknown's avatar
      post-review fixes · 9e921615
      unknown authored
      mysql-test/r/rpl_rotate_logs.result:
        removed host dependence in error messages
      mysql-test/t/rpl_rotate_logs.test:
        removed host dependence in error messages
      mysys/my_error.c:
        comment about using my_error family functions
      sql/filesort.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/ha_innodb.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/handler.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_cmpfunc.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_func.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_strfunc.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_subselect.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_sum.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/lock.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/log.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/mysql_priv.h:
        error check moved to fill_record
      sql/mysqld.cc:
        fixed error messages
      sql/parse_file.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/protocol.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/protocol_cursor.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/repl_failsafe.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/set_var.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/slave.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp_head.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp_rcontext.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_acl.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_analyse.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_base.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_class.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_class.h:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_db.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_delete.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_handler.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_help.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_insert.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_lex.cc:
        layout fixed
      sql/sql_load.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_map.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_parse.cc:
        error check moved to fill_record
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_prepare.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_rename.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_repl.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_select.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_show.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_table.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_trigger.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_udf.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_union.cc:
        error check moved to fill_record
      sql/sql_update.cc:
        error check moved to fill_record
      sql/sql_view.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_yacc.yy:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/table.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/unireg.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      9e921615
  29. 23 Oct, 2004 1 commit
    • unknown's avatar
      Fixed BUG#6029: Stored procedure specific handlers should have priority. · 4c06b4ae
      unknown authored
      mysql-test/r/sp.result:
        New test case for BUG#6022.
      mysql-test/t/sp.test:
        New test case for BUG#6022.
      sql/sp_rcontext.cc:
        Find the most specific condition handler, not just the first one.
        (And corrected the return type for find_handler)
      sql/sp_rcontext.h:
        Corrected return type for find_handler.
      4c06b4ae
  30. 20 Oct, 2004 1 commit
    • unknown's avatar
      errors without code removed · 066c9056
      unknown authored
      net_printf/send_error calls replaced by my_error family functions
      -1/1 (sent/unsent) error reporting removed
      (WL#2133)
      
      
      include/mysqld_error.h:
        new errors added.
      mysql-test/r/rpl_charset.result:
        new error
      mysql-test/r/rpl_timezone.result:
        new error
      mysql-test/r/sp-security.result:
        more clean error message
      mysql-test/r/sp.result:
        now error state intercepted correctly
      mysql-test/t/connect.test:
        new error message
      mysql-test/t/rpl_charset.test:
        new error message
      mysql-test/t/rpl_timezone.test:
        new error
      mysql-test/t/sp-security.test:
        more correct error handling
      mysql-test/t/sp.test:
        now error state intercepted correctly
      sql/ha_innodb.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/ha_innodb.h:
        -1/1 (sent/unsent) error reporting removed
      sql/item.cc:
        only boolean values should be returned by fix_fields()
      sql/item_cmpfunc.cc:
        only boolean values should be returned by fix_fields()
      sql/item_func.cc:
        only boolean values should be returned by fix_fields()
        net_printf/send_error calls replaced by my_error family functions
      sql/item_row.cc:
        only boolean values should be returned by fix_fields()
      sql/item_subselect.cc:
        only boolean values should be returned by fix_fields()
        -1/1 (sent/unsent) error reporting removed
      sql/item_subselect.h:
        -1/1 (sent/unsent) error reporting removed
      sql/item_sum.cc:
        only boolean values should be returned by fix_fields()
      sql/item_timefunc.cc:
        only boolean values should be returned by fix_fields()
      sql/item_uniq.h:
        only boolean values should be returned by fix_fields()
      sql/mysql_priv.h:
        -1/1 (sent/unsent) error reporting removed
      sql/mysqld.cc:
        net_printf/send_error calls replaced by my_error family functions
        changes in my_message_sql to support error handling correctly
      sql/protocol.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/protocol_cursor.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/repl_failsafe.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/repl_failsafe.h:
        -1/1 (sent/unsent) error reporting removed
      sql/set_var.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/share/czech/errmsg.txt:
        new error messages
      sql/share/danish/errmsg.txt:
        new error messages
      sql/share/dutch/errmsg.txt:
        new error messages
      sql/share/english/errmsg.txt:
        new error messages
      sql/share/estonian/errmsg.txt:
        new error messages
      sql/share/french/errmsg.txt:
        new error messages
      sql/share/german/errmsg.txt:
        new error messages
      sql/share/greek/errmsg.txt:
        new error messages
      sql/share/hungarian/errmsg.txt:
        new error messages
      sql/share/italian/errmsg.txt:
        new error messages
      sql/share/japanese/errmsg.txt:
        new error messages
      sql/share/korean/errmsg.txt:
        new error messages
      sql/share/norwegian-ny/errmsg.txt:
        new error messages
      sql/share/norwegian/errmsg.txt:
        new error messages
      sql/share/polish/errmsg.txt:
        new error messages
      sql/share/portuguese/errmsg.txt:
        new error messages
      sql/share/romanian/errmsg.txt:
        new error messages
      sql/share/russian/errmsg.txt:
        new error messages
      sql/share/serbian/errmsg.txt:
        new error messages
      sql/share/slovak/errmsg.txt:
        new error messages
      sql/share/spanish/errmsg.txt:
        new error messages
      sql/share/swedish/errmsg.txt:
        new error messages
      sql/share/ukrainian/errmsg.txt:
        new error messages
      sql/slave.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/slave.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sp.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sp_head.cc:
        new eror handling support
        net_printf/send_error calls replaced by my_error family functions
      sql/sp_rcontext.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_acl.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_acl.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_base.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_class.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_class.h:
        my_messhage_sql now set/reset query_error flag
      sql/sql_db.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_delete.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_do.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_error.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_handler.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_help.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_insert.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_lex.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_load.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_map.cc:
        errors without code removed
      sql/sql_parse.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed from mysql_execute_command
      sql/sql_prepare.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_repl.cc:
        error messages fixed
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_repl.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_select.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_select.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_show.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_table.cc:
        net_printf/send_error calls replaced by my_error family functions
        -1/1 (sent/unsent) error reporting removed
      sql/sql_trigger.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_udf.cc:
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_union.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_update.cc:
        -1/1 (sent/unsent) error reporting removed
        net_printf/send_error calls replaced by my_error family functions
      sql/sql_view.cc:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_view.h:
        -1/1 (sent/unsent) error reporting removed
      sql/sql_yacc.yy:
        net_printf/send_error calls replaced by my_error family functions
      066c9056
  31. 28 Sep, 2004 1 commit
    • unknown's avatar
      Strict mode & better warnings · 2a491215
      unknown authored
      Under strict mode MySQL will generate an error message if there was any conversion when assigning data to a field.
      Added checking of date/datetime fields.
      If strict mode, give error if we have not given value to field without a default value (for INSERT)
      
      
      client/mysqltest.c:
        Added --exit as an option to abort a test in a middle (good for debugging)
      include/my_time.h:
        Added flags to allow checking of dates in strict mode
      include/mysql_com.h:
        Added flag to check if field has a default value or not
      include/mysqld_error.h:
        New error messages for strict mode
      include/sql_state.h:
        Fixed SQL states (for strict mode tests)
      mysql-test/r/auto_increment.result:
        Updated error messages
      mysql-test/r/func_sapdb.result:
        Added test for ALLOW_INVALID_DATES
      mysql-test/r/func_str.result:
        Updated error messages
      mysql-test/r/func_time.result:
        Updated error messages
      mysql-test/r/insert.result:
        Updated error messages
      mysql-test/r/loaddata.result:
        Updated error messages
      mysql-test/r/select.result:
        Updated error messages
      mysql-test/r/sp.result:
        Updated error messages
      mysql-test/r/timezone2.result:
        Updated error messages
      mysql-test/r/type_datetime.result:
        Updated error messages
      mysql-test/r/type_decimal.result:
        Updated error messages
      mysql-test/r/type_float.result:
        Updated error messages
      mysql-test/r/type_ranges.result:
        Updated error messages
      mysql-test/r/type_time.result:
        Updated error messages
      mysql-test/r/type_uint.result:
        Updated error messages
      mysql-test/r/warnings.result:
        Updated error messages
      mysql-test/t/func_sapdb.test:
        Aded test
      sql-common/my_time.c:
        Added checking of dates
      sql/field.cc:
        Better error messages
        Optimization of warning handling (by introducing of check_int())
        Changed to use my_strtoll10()
      sql/field.h:
        Added check_int()
      sql/item_func.cc:
        Warnings when dividing by NULL
      sql/item_func.h:
        Warnings when dividing by NULL
      sql/item_timefunc.cc:
        Testing of date/datetime
        Use macros instead of constants
      sql/mysql_priv.h:
        New modes (part of strict mode)
      sql/mysqld.cc:
        New modes (part of strict mode)
      sql/opt_range.cc:
        Simple optimizations
      sql/protocol.cc:
        Add note/warning level to find_handler()
      sql/set_var.cc:
        Added mode 'traditional'
      sql/share/czech/errmsg.txt:
        New error messages for strict mode
      sql/share/danish/errmsg.txt:
        New error messages for strict mode
      sql/share/dutch/errmsg.txt:
        New error messages for strict mode
      sql/share/english/errmsg.txt:
        New error messages for strict mode
      sql/share/estonian/errmsg.txt:
        New error messages for strict mode
      sql/share/french/errmsg.txt:
        New error messages for strict mode
      sql/share/german/errmsg.txt:
        New error messages for strict mode
      sql/share/greek/errmsg.txt:
        New error messages for strict mode
      sql/share/hungarian/errmsg.txt:
        New error messages for strict mode
      sql/share/italian/errmsg.txt:
        New error messages for strict mode
      sql/share/japanese/errmsg.txt:
        New error messages for strict mode
      sql/share/korean/errmsg.txt:
        New error messages for strict mode
      sql/share/norwegian-ny/errmsg.txt:
        New error messages for strict mode
      sql/share/norwegian/errmsg.txt:
        New error messages for strict mode
      sql/share/polish/errmsg.txt:
        New error messages for strict mode
      sql/share/portuguese/errmsg.txt:
        New error messages for strict mode
      sql/share/romanian/errmsg.txt:
        New error messages for strict mode
      sql/share/russian/errmsg.txt:
        New error messages for strict mode
      sql/share/serbian/errmsg.txt:
        New error messages for strict mode
      sql/share/slovak/errmsg.txt:
        New error messages for strict mode
      sql/share/spanish/errmsg.txt:
        New error messages for strict mode
      sql/share/swedish/errmsg.txt:
        New error messages for strict mode
      sql/share/ukrainian/errmsg.txt:
        New error messages for strict mode
      sql/sp_rcontext.cc:
        Add note/warning level to find_handler()
      sql/sp_rcontext.h:
        Add note/warning level to find_handler()
      sql/sql_base.cc:
        Fix bug for detecting crashed table
      sql/sql_class.cc:
        Variables for strct mode
      sql/sql_class.h:
        Variables for strct mode
      sql/sql_error.cc:
        In strict mode, convert warnings to errors
      sql/sql_insert.cc:
        Strict mode
        If strict mode, give error if we have not given value to field without a default value
      sql/sql_load.cc:
        Strict mode
      sql/sql_parse.cc:
        Strict mode.
        Add flag to field if it doesn't have a default value
      sql/sql_select.cc:
        Added comment
        Prepare for upper level handling of table->status
      sql/sql_union.cc:
        Added THD to write_record()
      sql/sql_update.cc:
        Strict mode
      sql/table.cc:
        Handling of default values
      sql/time.cc:
        Checking of dates
      2a491215
  32. 10 Sep, 2004 2 commits
    • unknown's avatar
      Fixed BUG#4941: Stored procedure crash fetching null value into variable. · 749c0384
      unknown authored
      mysql-test/r/sp.result:
        New test case for BUG#4941.
      mysql-test/t/sp.test:
        New test case for BUG#4941.
      sql/protocol_cursor.cc:
        Handle null values.
      sql/sp_rcontext.cc:
        Handle null values.
      749c0384
    • unknown's avatar
      Fixed BUG#3294: Stored procedure crash if table dropped before use. · 1912148c
      unknown authored
        Dropping the table was not the real problem, the problem was with errors
        occuring within error handlers.
      
      
      mysql-test/r/sp-error.result:
        New test case for BUG#3294.
      mysql-test/t/sp-error.test:
        New test case for BUG#3294.
      sql/sp_head.cc:
        Use hreturn instruction both for continue and exit handlers (a special case
        of a jump).
      sql/sp_head.h:
        Use hreturn instruction both for continue and exit handlers (a special case
        of a jump).
      sql/sp_rcontext.cc:
        Keep track on if we're in a handler already, for error handling.
      sql/sp_rcontext.h:
        Keep track on if we're in a handler already, for error handling.
      sql/sql_yacc.yy:
        Use hreturn instruction both for continue and exit handlers (a special case
        of a jump).
      1912148c
  33. 21 Jul, 2004 1 commit
    • unknown's avatar
      Fixed BUG#2653: Undeclared variables not detected in stored procedures. · 28287c0d
      unknown authored
      We now get an run-time error instead of a crash (although a slightly misleading
      error message, but it's an improvement).
      
      
      mysql-test/r/sp-error.result:
        New test case for BUG#2653.
      mysql-test/t/sp-error.test:
        New test case for BUG#2653.
      sql/sp_head.cc:
        Detect failed evals (fix item really), which are due to unresolved variables/fields.
        Typically this would be a reference to an undeclared variable.
        (Also got rid of some compiler warnings.)
      sql/sp_rcontext.cc:
        Detect failed evals (fix item really), which are due to unresolved variables/fields.
        Typically this would be a reference to an undeclared variable.
      sql/sp_rcontext.h:
        Changed return type to int, so be able to detect failed evals (fix item).
      sql/sql_class.cc:
        Changed return type to int, so be able to detect failed evals (fix item).
      28287c0d
  34. 09 Jan, 2004 1 commit
    • unknown's avatar
      Fix BUG#2269: Lost connect if stored procedure called before USE · b0928683
      unknown authored
      (And some minor correction of cursor open)
      
      
      sql/sp_head.cc:
        Detect some errors that doesn't result in a non-zero return code in
        the SP execution loop.
        (Also corrected the cursor post_open() call.)
      sql/sp_rcontext.cc:
        Corrected the semantics of cursor post_open().
      sql/sp_rcontext.h:
        Corrected the semantics of cursor post_open().
      b0928683
  35. 08 Jan, 2004 2 commits