Commit graph

38 commits

Author SHA1 Message Date
unknown
e6a077e348 Bug#33618 (Crash in sp_rcontext)
Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)

The server used to crash when REPEAT or another control instruction
was used in conjunction with labels and a LEAVE instruction.

The crash was caused by a missing "pop" of handlers or cursors in the
code representing the stored program. When executing the code in a loop,
this missing "pop" would result in a stack overflow, corrupting memory.

Code generation has been fixed to produce the missing h_pop/c_pop
instructions.

Also, the logic checking that labels at the beginning and the end of a
statement are matched was incorrect, causing Bug 33983.
End labels, when used, must match the label used at the beginning of a block.


mysql-test/r/sp-code.result:
  Bug#33618 (Crash in sp_rcontext)
mysql-test/r/sp-error.result:
  Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
mysql-test/r/sp.result:
  Bug#33618 (Crash in sp_rcontext)
mysql-test/t/sp-code.test:
  Bug#33618 (Crash in sp_rcontext)
mysql-test/t/sp-error.test:
  Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
mysql-test/t/sp.test:
  Bug#33618 (Crash in sp_rcontext)
sql/sp_head.cc:
  Bug#33618 (Crash in sp_rcontext)
sql/sp_head.h:
  Bug#33618 (Crash in sp_rcontext)
sql/sp_rcontext.cc:
  Bug#33618 (Crash in sp_rcontext)
sql/sp_rcontext.h:
  Bug#33618 (Crash in sp_rcontext)
sql/sql_yacc.yy:
  Bug#33618 (Crash in sp_rcontext)
2008-01-23 13:26:41 -07:00
unknown
e7c6a81f25 Fixed bug #28076: inconsistent binary/varbinary comparison.
After adding an index the <VARBINARY> IN (SELECT <BINARY> ...)
clause returned a wrong result: the VARBINARY value was illegally padded
with zero bytes to the length of the BINARY column for the index search.
(<VARBINARY>, ...) IN (SELECT <BINARY>, ... ) clauses are affected too.


sql/item.cc:
  Fixed bug #28076.
  The Item_cache_str::save_in_field method has been overloaded
  to check cached values for an illegal padding before the saving
  into a field.
sql/item.h:
  Fixed bug #28076.
  The Item_cache_str::is_varbinary flag has been added and the
  Item_cache_str::save_in_field method has been overloaded to prevent
  cached values from an illegal padding when saving in fields.
  The signature of the Item_cache::get_cache method has been
  changed to accept pointers to Item instead of Item_result
  values.
sql/item_cmpfunc.cc:
  Fixed bug #28076.
  The Item_in_optimizer::fix_left method has been modified to
  to call Item_cache::get_cache in a new manner.
sql/item_subselect.cc:
  Fixed bug #28076.
  The subselect_indexsubquery_engine::exec method has been
  modified to take into account field conversion errors
  (copy&paste from subselect_uniquesubquery_engine::exec).
sql/sp_rcontext.cc:
  Fixed bug #28076.
  The sp_rcontext::create_case_expr_holder method has been
  modified to call Item_cache::get_cache in a new manner.
sql/sp_rcontext.h:
  Fixed bug #28076.
  The sp_rcontext::create_case_expr_holder method signature
  has been modified to pass Item pointers to the
  Item_cache::get_cache method.
sql/sql_class.cc:
  Fixed bug #28076.
  The select_max_min_finder_subselect::send_data method has been
  modified to call Item_cache::get_cache in a new manner.
mysql-test/t/subselect.test:
  Added test case for bug #28076.
mysql-test/r/subselect.result:
  Added test case for bug #28076.
2007-11-10 23:44:48 +04:00
unknown
9246c37201 Bug#24989: The DEADLOCK error is improperly handled by InnoDB.
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.
2007-07-30 17:14:34 +04:00
unknown
6b0853a398 Many files:
Changed header to GPL version 2 only


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


configure.in:
  Added comment
ndb/include/ndbapi/NdbDictionary.hpp:
  Fixed compiler warnings from gcc 4.0.2
sql/field.cc:
  Fixed compiler warnings from gcc 4.0.2
sql/handler.h:
  Fixed compiler warnings from gcc 4.0.2
sql/item.h:
  Fixed compiler warnings from gcc 4.0.2
sql/item_cmpfunc.h:
  Fixed compiler warnings from gcc 4.0.2
sql/log_event.h:
  Fixed compiler warnings from gcc 4.0.2
sql/mysql_priv.h:
  Fixed compiler warnings from gcc 4.0.2
  For find_table_in_list I fixed it to use proper C++ class pointers instead of C style pointers
sql/opt_range.cc:
  Fixed compiler warnings from gcc 4.0.2
sql/parse_file.h:
  Fixed compiler warnings from gcc 4.0.2
sql/sp_rcontext.h:
  Fixed compiler warnings from gcc 4.0.2
sql/spatial.h:
  Fixed compiler warnings from gcc 4.0.2
sql/sql_base.cc:
  Fixed compiler warnings from gcc 4.0.2
sql/sql_cache.h:
  Fixed compiler warnings from gcc 4.0.2
sql/sql_class.h:
  Fixed compiler warnings from gcc 4.0.2
sql/sql_parse.cc:
  Fixed compiler warnings from gcc 4.0.2
  (Not pretty, but seams to work...)
sql/sql_select.h:
  Fixed compiler warnings from gcc 4.0.2
sql/sql_update.cc:
  Fixed compiler warnings from gcc 4.0.2
sql/table.h:
  Fixed compiler warnings from gcc 4.0.2
sql/tztime.cc:
  Fixed compiler warnings from gcc 4.0.2
sql/tztime.h:
  Fixed compiler warnings from gcc 4.0.2
2006-02-25 17:46:30 +02:00
unknown
6b2f13098a Patch for WL#2894: Make stored routine variables work
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.
2005-12-07 17:01:17 +03:00
unknown
a2c26aa710 Merge sanja.is.com.ua:/home/bell/mysql/bk/work-bug2-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-merge-5.0


sql/item.h:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/sp.result:
  merge
mysql-test/r/trigger.result:
  merge
mysql-test/t/sp.test:
  merge
mysql-test/t/trigger.test:
  merge
sql/item.cc:
  merge
sql/sp_rcontext.h:
  merge
2005-11-23 00:58:13 +02:00
unknown
6574612df8 Fix for BUG#13549 "Server crash with nested stored procedures
if inner routine has more local variables than outer one, and
one of its last variables was used as argument to NOT operator".

THD::spcont was non-0 when we were parsing stored routine/trigger
definition during execution of another stored routine. This confused
methods of Item_splocal and forced them use wrong runtime context.
Fix ensures that we always have THD::spcont equal to zero during
routine/trigger body parsing. This also allows to avoid problems
with errors which occur during parsing and SQL exception handlers.


mysql-test/r/sp.result:
  Test suite for bug#13549.
mysql-test/r/trigger.result:
  Test suite for bug#13549.
mysql-test/t/sp.test:
  Test suite for bug#13549.
mysql-test/t/trigger.test:
  Test suite for bug#13549.
sql/item.cc:
  Protection against using wrong context by SP local variable.
sql/item.h:
  Protection against using wrong context by SP local variable.
sql/protocol.cc:
  An incorrect macro name fixed.
sql/protocol.h:
  An incorrect macro name fixed.
sql/sp.cc:
  Do not allow SP which we are parsing to use other SP
  context (BUG#13549).
sql/sp_head.cc:
  Protection against using wrong context by SP local variable.
sql/sp_rcontext.h:
  Protection against using wrong context by SP local variable.
sql/sql_cache.h:
  An incorrect macro name fixed.
sql/sql_class.cc:
  Protection against using wrong context by SP local variable.
sql/sql_class.h:
  Protection against using wrong context by SP local variable.
sql/sql_trigger.cc:
  Do not allow Trigger which we are parsing to use
  other SP context (BUG#13549).
sql/sql_yacc.yy:
  Protection against using wrong context by SP local variable.
2005-11-23 00:50:37 +02:00
unknown
c8a2ff6f53 Additional fix for BUG#7049, after review.
Make sure "select" aborts when finding a SP condition handler beyond the current scope.


mysql-test/r/sp.result:
  Updated test results after fixing error handling in select.
sql/mysqld.cc:
  Make sure "select" aborts when finding a SP condition handler beyond the current scope.
sql/protocol.cc:
  Make sure "select" aborts when finding a SP condition handler beyond the current scope.
sql/sp_rcontext.h:
  Added method for checking if the handler was found in the current context.
sql/sql_error.cc:
  Make sure "select" aborts when finding a SP condition handler beyond the current scope.
2005-10-17 15:07:47 +02:00
unknown
a5925a90e2 Fixed BUG#7049: Stored procedure CALL errors are ignored
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.
2005-09-26 18:46:31 +02:00
unknown
ad8ff14165 Fixed BUG#6127: Stored procedure handlers within handlers don't work
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.)
2005-09-26 18:22:00 +02:00
unknown
813fc4104e A fix and a test case for Bug#6513 "Test Suite: Values inserted by using
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.
2005-09-22 02:11:21 +04:00
unknown
8a5e527453 Fix for BUG#12335 (SP replication) : New binlogging strategy for stored PROCEDUREs/FUNCTIONs.
"Interleaved SPs execution is now binlogged properly, "SELECT spfunc()" is binlogged too.
The known remaining issue is binlogging/replication of "a routine is deleted while it is executed" scenario.


mysql-test/r/rpl_sp.result:
  Fix for BUG#12335: updated test cases/results
mysql-test/t/rpl_sp.test:
  Fix for BUG#12335: updated test cases/results
sql/item.cc:
  Fix for BUG#12335 (SP replication): 
   - Added Item_name_const 'function'
   - Addede 'delete reuse' to call dtor on item reuse
sql/item.h:
  Fix for BUG#12335 (SP replication) : Added Item_name_const 'function' + code cleanup
sql/item_create.cc:
   Fix for BUG#12335 (SP replication) : Added Item_name_const 'function'
sql/item_create.h:
   Fix for BUG#12335 (SP replication) : Added Item_name_const 'function'
sql/item_func.cc:
  Fix for BUG#12335 (SP replication) : binary log is now constrolled from within execute_function.
sql/lex.h:
  Fix for BUG#12335 (SP replication) : Added Item_name_const 'function'
sql/log.cc:
  Fix for BUG#12335 (SP replication) : Added MYSQL_LOG::{start|stop}_union_events to allow
  one to temporary disable binlogging but collect a 'union' information about binlog write
  calls.
sql/mysql_priv.h:
  Fix for BUG#12335 (SP replication)
sql/sp_head.cc:
  Fix for BUG#12335 (SP replication) : Now we use different SP binlogging strategy, grep for 
  StoredRoutinesBinlogging for details
sql/sp_head.h:
  Comments added
sql/sp_pcontext.h:
  Comments added
sql/sp_rcontext.h:
  Comments added
sql/sql_class.cc:
  Fix for BUG#12335 (SP replication) : Now we use different SP binlogging strategy, grep for 
  StoredRoutinesBinlogging for details
sql/sql_class.h:
  Fix for BUG#12335 (SP replication) : Added MYSQL_LOG::{start|stop}_union_events to allow
  one to temporary disable binlogging but collect a 'union' information about binlog write
  calls.
sql/sql_delete.cc:
  Fix for BUG#12335: check THD::query_str_binlog_unsuitable when writing to binlog.
sql/sql_insert.cc:
  Fix for BUG#12335: check THD::query_str_binlog_unsuitable when writing to binlog.
sql/sql_lex.cc:
  Fix for BUG#12335 (SP replication): Add ability to extract previous returned token from
  the tokenizer.
sql/sql_lex.h:
  Fix for BUG#12335 (SP replication): Add ability to extract previous returned token from
  the tokenizer.
sql/sql_parse.cc:
  Fix for BUG#12335 (SP replication) : Now we use different SP binlogging strategy, grep for 
  StoredRoutinesBinlogging for details
sql/sql_update.cc:
  Fix for BUG#12335: check THD::query_str_binlog_unsuitable when writing to binlog.
sql/sql_yacc.yy:
  Fix for BUG#12335 (SP replication) : When creating Item_splocal, remember where it is located
  in the query.
2005-08-25 17:34:34 +04:00
unknown
fa19a9f246 Fix for Bug#11247 Stored procedures: Function calls in long loops leak memory
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.
2005-08-18 11:23:54 +02:00
unknown
a95bb38a7f Fixed BUG#11529: crash server after use stored procedure
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.
2005-06-30 18:07:06 +02:00
unknown
e1c2646a0c prohibit opening Query cache for SP cursors (BUG#9715)
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
2005-06-14 22:45:48 +03:00
unknown
03949f8ce8 Post review and additional fix for BUG#10968: Stored procedures: crash if long loop.
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.
2005-06-10 16:14:01 +02:00
unknown
73b4415ce4 Add USE_PRAGMA_INTERFACE and USE_PRAGMA_IMPLEMENTATION to files not existsing in 4.1
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
2005-05-27 12:03:37 +02:00
unknown
9c79a9d691 Fixed on BUG#6048: Stored procedure causes operating system reboot
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().
2005-05-23 23:43:43 +02:00
unknown
a6b1546676 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
2005-05-09 01:59:10 +03:00
unknown
e0fdbeba7e Fixed BUG#9598: stored procedure call within stored procedure
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.
2005-04-14 14:52:35 +02:00
unknown
ac9f68b9fa Better approach for prelocking of tables for stored routines execution
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.
2005-03-04 16:35:28 +03:00
unknown
4c06b4aed7 Fixed BUG#6029: Stored procedure specific handlers should have priority.
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.
2004-10-23 14:23:32 +02:00
unknown
2a49121590 Strict mode & better warnings
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
2004-09-28 20:08:00 +03:00
unknown
1912148cec Fixed BUG#3294: Stored procedure crash if table dropped before use.
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).
2004-09-10 11:11:52 +02:00
unknown
28287c0dc5 Fixed BUG#2653: Undeclared variables not detected in stored procedures.
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).
2004-07-21 14:53:09 +02:00
unknown
b092868307 Fix BUG#2269: Lost connect if stored procedure called before USE
(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().
2004-01-09 09:36:37 +01:00
unknown
027535733d Fix BUG#2259: Crash after fetch from not-open cursor in stored procedure
Initialize and test properly when cleaning up, to avoid crash in some error cases.


mysql-test/r/sp-error.result:
  Test case for BUG#2259
mysql-test/t/sp-error.test:
  Test case for BUG#2259
sql/sp_rcontext.cc:
  Cleanup in a more controlled way to avoid crashes in some error cases.
  Remove unused variable.
sql/sp_rcontext.h:
  Initialize member var, for cleanup tests.
2004-01-08 10:37:31 +01:00
unknown
4f72061f40 Update for VC++
(Fixed project files, compiler warnings etc..)


BitKeeper/etc/ignore:
  added mysql_priv.h
VC++Files/libmysqld/libmysqld.dsp:
  Update for VC++to
VC++Files/sql/mysqld.dsp:
  Update for VC++
client/mysqlbinlog.cc:
  Remove not used variable
sql-common/client.c:
  Fix for compilation with VC++
sql/filesort.cc:
  Remove not used variable
sql/item_timefunc.cc:
  Fixed compiler warnings
sql/log_event.cc:
  Fixed compiler warnings
  - One can't portable allocate an stack-array dynamicly
  - Changed sql_mode to ulong to match THD.variables.sql_mode (If they are not the same we get a lot of compiler warnings)
sql/log_event.h:
  Changed sql_mode to ulong to match THD.variables.sql_mode (If they are not the same we get a lot of compiler warnings)
sql/sp.cc:
  sql_mode to ulong
  Don't use strcpy
  Replaced sprintf() with strmov
sql/sp_cache.cc:
  Fixed compiler warning
sql/sp_head.cc:
  Removed not used variable
sql/sp_rcontext.cc:
  Removed not used variable
sql/sp_rcontext.h:
  Fixed compiler warning
sql/sql_class.cc:
  Portability fix
sql/sql_delete.cc:
  Fixed compiler warning
sql/sql_insert.cc:
  Fixed compiler warning
sql/sql_update.cc:
  Fixed compiler warning
2003-12-21 02:07:45 +02:00
unknown
919b5ba6b5 Fixed BUG#1965: Opening a cursor hangs client when malformed select fails
and BUG#1966: "select 1 into a" on top-level hangs client


include/mysql_com.h:
  Added no_send_eof flag to NET for SP cursors (the simple read-only version).
mysql-test/r/sp-error.result:
  Added tests for BUG#1965 and BUG#1966.
mysql-test/t/sp-error.test:
  Added tests for BUG#1965 and BUG#1966.
sql/net_serv.cc:
  Added no_send_eof flag to NET for SP cursors (the simple read-only version).
sql/protocol.cc:
  Added no_send_eof flag to NET for SP cursors (the simple read-only version).
sql/sp_rcontext.cc:
  Use net->no_send_eof flag to prevent eofs during cursor open (instead of
  the dirty vio=0 which didn't work).
sql/sp_rcontext.h:
  Use net->no_send_eof flag to prevent eofs during cursor open (instead of
  the dirty vio=0 which didn't work).
sql/sql_yacc.yy:
  Give error message if doing SELECT ... INTO localvar even if it's outside an SP.
2003-11-27 16:48:21 +01:00
unknown
776784b821 Fix for BUG#1495: Evaluate items before setting a local variable with SELECT INTO.
Also copy and restore order_list and group_list for selects in SPs.


mysql-test/r/sp.result:
  Test for BUG#1495, and an additional cursor test.
mysql-test/t/sp.test:
  Test for BUG#1495, and an additional cursor test.
sql/sp_head.cc:
  Fix BUG#1495: renamed eval_func_item() into sp_eval_func_item() and made it
  non-static.
  Also need to copy and restore order_list and group_list pointers before and
  after execution of a substatement. (Which means these must always be properly
  initialized for all queries.)
sql/sp_rcontext.cc:
  Fix BUG#1495: Evaluate and set a local variable (for SELECT INTO).
sql/sp_rcontext.h:
  Fix BUG#1495: Evaluate and set a local variable (for SELECT INTO).
sql/sql_class.cc:
  Fix BUG#1495: Evaluate and set a local variable (for SELECT INTO).
sql/sql_class.h:
  Fix BUG#1495: Evaluate and set a local variable (for SELECT INTO); need type for this.
sql/sql_parse.cc:
  order_list and group_list must be initialized in select_lex for all queries,
  to make SP sub statement execution work.
sql/sql_yacc.yy:
  Type needed for setting local variables.
sql/table.h:
  Need a copy of the Item* pointer when executing sub-statements in SPs. (Since
  it's modified and must be restored afterwards.)
2003-10-14 12:59:28 +02:00
unknown
04c6b9b8d8 WL#962: Added simple, read-only, non-scrolling, asensitive cursors in SPs, using the
(updated) Protocol_cursor class.
Also did some bug fixes.


Docs/sp-imp-spec.txt:
  Added CURSOR docs (and fixed typos)
Docs/sp-implemented.txt:
  Updated for CURSORs
include/mysqld_error.h:
  New error codes/messages for CURSORs
libmysqld/Makefile.am:
  SP cursors now needs this.
mysql-test/r/sp-error.result:
  New tests for cursors.
mysql-test/r/sp.result:
  New tests for cursors.
mysql-test/t/sp-error.test:
  New tests for cursors.
mysql-test/t/sp.test:
  New tests for cursors.
sql/protocol.cc:
  We now always have Protocol_cursor (SPs use it)
sql/protocol.h:
  Fixed bugs in Protocol_cursor (for SPs)
sql/protocol_cursor.cc:
  Fixed bugs in Protocol_cursor (for SPs)
sql/share/czech/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/danish/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/dutch/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/english/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/estonian/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/french/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/german/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/greek/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/hungarian/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/italian/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/japanese/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/korean/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/norwegian-ny/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/norwegian/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/polish/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/portuguese/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/romanian/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/russian/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/serbian/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/slovak/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/spanish/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/swedish/errmsg.txt:
  New error codes/messages for CURSORs
sql/share/ukrainian/errmsg.txt:
  New error codes/messages for CURSORs
sql/sp_head.cc:
  Added cursor support.
  Also fixed problems with item_lists, where pointers and ref_pointer_arrays.
sql/sp_head.h:
  Added cursor support
sql/sp_pcontext.cc:
  Added cursor support
sql/sp_pcontext.h:
  Added cursor support
sql/sp_rcontext.cc:
  Added cursor support, in particular the new sp_cursor class.
sql/sp_rcontext.h:
  Added cursor support, in particular the new sp_cursor class.
sql/sql_lex.h:
  We sometimes need to copy item_lists in LEX when executing substatements in SPs
sql/sql_yacc.yy:
  Added minimal cursor support (not the full syntax yet).
2003-10-10 16:57:21 +02:00
unknown
4deedf6263 Implemented SP CONDITIONs and HANDLERs, with the extension of handling
MySQL error codes as well.
(No UNDO HANDLERs yet, and no SIGNAL or RESIGNAL.)
WL#850


Docs/sp-imp-spec.txt:
  Spec of CONDITIONs and HANDLERs (and updated some old stuff too).
Docs/sp-implemented.txt:
  Updated info about caching, CONDITIONs and HANDLERs.
include/mysqld_error.h:
  New error for undeclared CONDITION.
libmysqld/Makefile.am:
  New file: sp_rcontext.cc.
mysql-test/r/sp-error.result:
  New tests for CONDITIONs and HANDLERs.
mysql-test/r/sp.result:
  New tests for CONDITIONs and HANDLERs.
mysql-test/t/sp-error.test:
  New tests for CONDITIONs and HANDLERs.
mysql-test/t/sp.test:
  New tests for CONDITIONs and HANDLERs.
sql/Makefile.am:
  New file: sp_rcontext.cc.
sql/lex.h:
  New symbols for CONDITIONs, HANDLERs and CURSORs.
sql/mysqld.cc:
  Catch error if we have a handler for it.
sql/protocol.cc:
  Catch error if we have a handler for it.
sql/share/czech/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/danish/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/dutch/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/english/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/estonian/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/french/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/german/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/greek/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/hungarian/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/italian/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/japanese/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/korean/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/norwegian-ny/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/norwegian/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/polish/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/portuguese/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/romanian/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/russian/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/serbian/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/slovak/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/spanish/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/swedish/errmsg.txt:
  New error for undeclared CONDITION.
sql/share/ukrainian/errmsg.txt:
  New error for undeclared CONDITION.
sql/sp_head.cc:
  New HANDLER code.
sql/sp_head.h:
  New HANDLER code.
sql/sp_pcontext.cc:
  New CONDITION and HANDLER code.
sql/sp_pcontext.h:
  New CONDITION and HANDLER code.
sql/sp_rcontext.h:
  New CONDITION and HANDLER code.
sql/sql_yacc.yy:
  New CONDITION and HANDLER code.
2003-09-16 14:26:08 +02:00
unknown
76b037dc42 Made stored FUNCTION invokation work almost always. Still buggy and unstable, and
various known problems, but good enough for a checkpoint commit.


mysql-test/r/sp.result:
  New tests for invoking simple FUNCTIONs.
mysql-test/t/sp.test:
  New tests for invoking simple FUNCTIONs.
sql/item_func.cc:
  New Item_func_sp for stored FUNCTIONs.
sql/item_func.h:
  New Item_func_sp for stored FUNCTIONs.
sql/sp.cc:
  Close mysql.proc table earlier so recursive find_function calls work.
  Added temporary sp_function_exists() function for checking without parsing.
sql/sp.h:
  Added temporary sp_function_exists() function for checking without parsing.
sql/sp_head.cc:
  New code for executing a FUNCTION. (And reworked some of the old code in the process.)
sql/sp_head.h:
  New code for executing a FUNCTION.
sql/sp_rcontext.h:
  Added result slot for FUNCTIONs.
sql/sql_lex.cc:
  Added check for stored FUNCTION, analogous to UDFs.
sql/sql_parse.cc:
  sp_head::execute was renamed into execute_procedure.
sql/sql_yacc.yy:
  Added parsing of stored FUNCTION invocation and code generation for RETURN statement.
2003-02-26 19:22:29 +01:00
unknown
27de9ece81 Simplistic, experimental framework for Stored Procedures (SPs).
Implements creation and dropping of PROCEDUREs, IN, OUT, and INOUT parameters,
single-statement procedures, rudimentary multi-statement (begin-end) prodedures
(when the client can handle it), and local variables.
Missing most of the embedded SQL language, all attributes, FUNCTIONs, error handling,
reparses procedures at each call (no caching), etc, etc.
Certainly buggy too, but procedures can actually be created and called....


sql/Makefile.am:
  Added SP files.
sql/item.cc:
  Added this*_item() methods for Item_splocal. (SP local variable)
sql/item.h:
  Added this*_item() methods for SPs in Item, and the new Item_splocal
  class (SP local variable).
sql/lex.h:
  Added new symbols for SPs. (Note: SPSET is temporary and will go away later.)
sql/sql_class.cc:
  Initialize SP runtime context in THD.
sql/sql_class.h:
  Add SP runtime context to THD.
sql/sql_lex.cc:
  Init. buf pointer to beginning of command (needed by SPs).
  Also initialize SP head and parse time context.
sql/sql_lex.h:
  New SQLCOM_ tags for SPs, and added pointer to beginning of command pointer and
  SP head and parse-time context to LEX.
sql/sql_parse.cc:
  Added SQLCOM_CREATE_PROCEDURE, _CALL, _ALTER_PROCEDURE and _DROP_PROCEDURE cases.
  (Still rudimentary and lacking proper error handling...)
sql/sql_yacc.yy:
  Lots and lots of additions for SPs...
  (Still even more missing, and no error messages...)
2002-12-08 19:59:22 +01:00