Problem: DROP TRIGGER was not properly handled in combination
with slave filters, which made replication stop
Fix: loading table name before checking slave filters when
dropping a trigger.
mysql-test/r/rpl_replicate_do.result:
Adding test case
mysql-test/t/rpl_replicate_do.test:
Adding test case
sql/sql_parse.cc:
Loading table name when dropping a trigger
before checking slave filtering rules.
sql/sql_trigger.cc:
Making add_table_for_trigger() public
sql/sql_trigger.h:
Making add_table_for_trigger() public
into mysql.com:/home/my/mysql-5.0
BitKeeper/etc/ignore:
added mysql-test/mysql-test-run-shell
client/mysql.cc:
Auto merged
client/mysql_upgrade.c:
Auto merged
client/mysqlbinlog.cc:
Auto merged
client/mysqldump.c:
Auto merged
client/mysqltest.c:
Auto merged
client/sql_string.cc:
Auto merged
client/sql_string.h:
Auto merged
extra/my_print_defaults.c:
Auto merged
include/m_ctype.h:
Auto merged
include/my_pthread.h:
Auto merged
include/my_sys.h:
Auto merged
include/my_time.h:
Auto merged
include/mysql.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/ft_boolean_search.c:
Auto merged
myisam/mi_open.c:
Auto merged
myisam/mi_search.c:
Auto merged
myisam/mi_unique.c:
Auto merged
myisam/myisampack.c:
Auto merged
myisam/rt_index.c:
Auto merged
myisam/sort.c:
Auto merged
mysql-test/t/mysql.test:
Auto merged
mysql-test/t/mysqltest.test:
Auto merged
mysys/default.c:
Auto merged
mysys/mf_iocache2.c:
Auto merged
mysys/mf_keycache.c:
Auto merged
mysys/my_bitmap.c:
Auto merged
mysys/sha1.c:
Auto merged
ndb/include/kernel/signaldata/ArbitSignalData.hpp:
Auto merged
ndb/include/kernel/signaldata/DictTabInfo.hpp:
Auto merged
ndb/include/ndbapi/NdbReceiver.hpp:
Auto merged
ndb/include/transporter/TransporterDefinitions.hpp:
Auto merged
ndb/include/util/InputStream.hpp:
Auto merged
ndb/include/util/OutputStream.hpp:
Auto merged
ndb/include/util/SimpleProperties.hpp:
Auto merged
ndb/include/util/SocketAuthenticator.hpp:
Auto merged
ndb/include/util/SocketServer.hpp:
Auto merged
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
Auto merged
ndb/src/common/portlib/NdbTick.c:
Auto merged
ndb/src/common/transporter/SHM_Transporter.cpp:
Auto merged
ndb/src/common/transporter/TCP_Transporter.cpp:
Auto merged
ndb/src/common/transporter/TCP_Transporter.hpp:
Auto merged
ndb/src/common/transporter/Transporter.cpp:
Auto merged
ndb/src/common/transporter/TransporterRegistry.cpp:
Auto merged
ndb/src/common/util/Bitmask.cpp:
Auto merged
ndb/src/common/util/ConfigValues.cpp:
Auto merged
ndb/src/common/util/File.cpp:
Auto merged
ndb/src/common/util/Properties.cpp:
Auto merged
ndb/src/common/util/SocketClient.cpp:
Auto merged
ndb/src/common/util/random.c:
Auto merged
ndb/src/common/util/socket_io.cpp:
Auto merged
ndb/src/cw/cpcd/APIService.cpp:
Auto merged
ndb/src/cw/cpcd/main.cpp:
Auto merged
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
Auto merged
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
Auto merged
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Auto merged
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
Auto merged
ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
Auto merged
ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp:
Auto merged
ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
Auto merged
ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp:
Auto merged
ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp:
Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
Auto merged
ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp:
Auto merged
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
Auto merged
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
Auto merged
ndb/src/kernel/blocks/suma/Suma.cpp:
Auto merged
ndb/src/kernel/blocks/suma/Suma.hpp:
Auto merged
ndb/src/kernel/vm/MetaData.hpp:
Auto merged
ndb/src/mgmapi/LocalConfig.cpp:
Auto merged
ndb/src/mgmapi/mgmapi.cpp:
Auto merged
ndb/src/mgmclient/CommandInterpreter.cpp:
Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
ndb/src/mgmsrv/ConfigInfo.hpp:
Auto merged
ndb/src/mgmsrv/InitConfigFileParser.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
Auto merged
ndb/src/mgmsrv/Services.cpp:
Auto merged
ndb/src/mgmsrv/main.cpp:
Auto merged
ndb/src/ndbapi/ClusterMgr.hpp:
Auto merged
ndb/src/ndbapi/Ndb.cpp:
Auto merged
ndb/src/ndbapi/NdbBlob.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/NdbIndexOperation.cpp:
Auto merged
ndb/src/ndbapi/NdbOperationDefine.cpp:
Auto merged
ndb/src/ndbapi/NdbOperationExec.cpp:
Auto merged
ndb/src/ndbapi/NdbOperationSearch.cpp:
Auto merged
ndb/src/ndbapi/NdbScanFilter.cpp:
Auto merged
ndb/src/ndbapi/NdbScanOperation.cpp:
Auto merged
ndb/src/ndbapi/SignalSender.cpp:
Auto merged
ndb/src/ndbapi/ndb_cluster_connection.cpp:
Auto merged
ndb/tools/delete_all.cpp:
Auto merged
ndb/tools/desc.cpp:
Auto merged
ndb/tools/drop_index.cpp:
Auto merged
ndb/tools/drop_tab.cpp:
Auto merged
ndb/tools/listTables.cpp:
Auto merged
ndb/tools/ndb_config.cpp:
Auto merged
ndb/tools/restore/Restore.hpp:
Auto merged
ndb/tools/restore/consumer.hpp:
Auto merged
ndb/tools/restore/restore_main.cpp:
Auto merged
ndb/tools/select_all.cpp:
Auto merged
ndb/tools/select_count.cpp:
Auto merged
server-tools/instance-manager/commands.h:
Auto merged
server-tools/instance-manager/guardian.cc:
Auto merged
server-tools/instance-manager/instance_options.cc:
Auto merged
server-tools/instance-manager/mysql_connection.cc:
Auto merged
server-tools/instance-manager/options.cc:
Auto merged
server-tools/instance-manager/options.h:
Auto merged
server-tools/instance-manager/parse.cc:
Auto merged
server-tools/instance-manager/user_map.cc:
Auto merged
server-tools/instance-manager/user_map.h:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/filesort.cc:
Auto merged
sql/ha_archive.cc:
Auto merged
sql/ha_archive.h:
Auto merged
sql/ha_federated.cc:
Auto merged
sql/ha_heap.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/ha_myisammrg.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_geofunc.cc:
Auto merged
sql/item_row.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/net_serv.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/opt_range.h:
Auto merged
sql/password.c:
Auto merged
sql/protocol.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sp_head.h:
Auto merged
sql/spatial.cc:
Auto merged
sql/spatial.h:
Auto merged
sql/sql_cache.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql-common/client.c:
Auto merged
sql-common/my_time.c:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_string.cc:
Auto merged
sql/sql_string.h:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_trigger.h:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/tztime.cc:
Auto merged
sql/unireg.cc:
Auto merged
strings/ctype-bin.c:
Auto merged
strings/ctype-cp932.c:
Auto merged
strings/ctype-eucjpms.c:
Auto merged
strings/ctype-mb.c:
Auto merged
strings/ctype-simple.c:
Auto merged
strings/ctype-sjis.c:
Auto merged
strings/ctype-uca.c:
Auto merged
strings/ctype-ujis.c:
Auto merged
strings/ctype-utf8.c:
Auto merged
strings/decimal.c:
Auto merged
strings/my_vsnprintf.c:
Auto merged
tests/mysql_client_test.c:
Auto merged
mysql-test/t/mysqlbinlog.test:
Manual merge
sql/sql_class.h:
Manual merge
sql/sql_parse.cc:
Manual merge
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
- Removed not used variables and functions
- Added #ifdef around code that is not used
- Renamed variables and functions to avoid conflicts
- Removed some not used arguments
Fixed some class/struct warnings in ndb
Added define IS_LONGDATA() to simplify code in libmysql.c
I did run gcov on the changes and added 'purecov' comments on almost all lines that was not just variable name changes
BUILD/SETUP.sh:
Added printing of unused functions and variables.
Made it easy to test compiling with -Wshadow
BUILD/compile-pentium-gcov:
Added warnings
Mark binary with -gcov
client/mysql.cc:
Fixed warnings found with gcc -Wshadow
client/mysql_upgrade.c:
Fixed warnings found with gcc -Wshadow
client/mysqlbinlog.cc:
Fixed warnings found with gcc -Wshadow
client/mysqldump.c:
Fixed warnings found with gcc -Wshadow
client/mysqltest.c:
Fixed warnings found with gcc -Wshadow
client/sql_string.cc:
Fixed warnings found with gcc -Wshadow
Merged with sql/sql_string.cc
client/sql_string.h:
Fixed warnings found with gcc -Wshadow
Merged with sql/sql_string.h
cmd-line-utils/readline/display.c:
Fixed compiler warning
cmd-line-utils/readline/histexpand.c:
Fixed warnings found with gcc -Wshadow
cmd-line-utils/readline/input.c:
Fixed warnings found with gcc -Wshadow
cmd-line-utils/readline/text.c:
Fixed warnings found with gcc -Wshadow
cmd-line-utils/readline/vi_mode.c:
Fixed warnings found with gcc -Wshadow
dbug/dbug_analyze.c:
Fixed warnings found with gcc -Wshadow
extra/my_print_defaults.c:
Prefixed defaults_extra_file and defaults_group_suffix with 'my' to avoid conflicts with similar named local variables
extra/yassl/include/buffer.hpp:
Fixed compiler warnings
extra/yassl/include/crypto_wrapper.hpp:
Fixed compiler warnings
extra/yassl/include/yassl_imp.hpp:
Fixed compiler warnings
extra/yassl/include/yassl_int.hpp:
Fixed compiler warnings
extra/yassl/src/crypto_wrapper.cpp:
Fixed compiler warnings
extra/yassl/taocrypt/benchmark/benchmark.cpp:
Fixed warnings found with gcc -Wshadow
extra/yassl/taocrypt/include/algebra.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/include/des.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/include/hash.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/include/hmac.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/include/modarith.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/include/modes.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/include/rsa.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/mySTL/list.hpp:
Fixed compiler warnings
extra/yassl/taocrypt/src/aes.cpp:
Fixed compiler warnings
extra/yassl/taocrypt/src/algebra.cpp:
Fixed compiler warnings
extra/yassl/taocrypt/src/asn.cpp:
Fixed compiler warnings
extra/yassl/taocrypt/test/test.cpp:
Fixed compiler warnings
extra/yassl/testsuite/testsuite.cpp:
Fixed compiler warnings
include/m_ctype.h:
Fixed warnings found with gcc -Wshadow
include/my_pthread.h:
Fixed warnings found with gcc -Wshadow
include/my_sys.h:
Fixed warnings found with gcc -Wshadow
include/my_time.h:
Fixed warnings found with gcc -Wshadow
include/mysql.h:
Fixed warnings found with gcc -Wshadow
Added define IS_LONGDATA() to simplify code in libmysql.c
libmysql/libmysql.c:
Fixed warnings found with gcc -Wshadow
(Mostly replaced bind -> my_bind and time -> my_time)
libmysqld/lib_sql.cc:
Removed not used variables and labels
myisam/ft_boolean_search.c:
Fixed warnings found with gcc -Wshadow
myisam/mi_open.c:
Fixed warnings found with gcc -Wshadow
myisam/mi_search.c:
Fixed warnings found with gcc -Wshadow
myisam/mi_unique.c:
Fixed compiler warning
myisam/myisampack.c:
Fixed warnings found with gcc -Wshadow
myisam/rt_index.c:
Remove not used variables
myisam/sort.c:
Fixed warnings found with gcc -Wshadow
mysql-test/r/mysqlcheck.result:
Remove databases and tables possible left by previous test
mysql-test/r/mysqltest.result:
New test results
mysql-test/t/mysql.test:
Coverage tests
mysql-test/t/mysqlbinlog.test:
Coverage tests
mysql-test/t/mysqlcheck.test:
Remove databases and tables possible left by previous test
mysql-test/t/mysqltest.test:
Coverage tests
mysys/default.c:
Prefixed defaults_file, defaults_group_suffix and defaults_extra_file with 'my' to avoid conflicts with local variables in some functions
mysys/mf_iocache2.c:
Fixed warnings found with gcc -Wshadow
mysys/mf_keycache.c:
Fixed warnings found with gcc -Wshadow
mysys/my_bitmap.c:
Fixed warnings found with gcc -Wshadow
mysys/sha1.c:
Fixed warnings found with gcc -Wshadow
ndb/include/kernel/signaldata/ArbitSignalData.hpp:
Fixed compiler warning
ndb/include/kernel/signaldata/DictTabInfo.hpp:
Fixed compiler warnings
ndb/include/ndbapi/NdbReceiver.hpp:
Fixed warnings found with gcc -Wshadow
ndb/include/transporter/TransporterDefinitions.hpp:
Fixed compiler warning
ndb/include/util/InputStream.hpp:
Fixed compiler warning
ndb/include/util/OutputStream.hpp:
Fixed compiler warning
ndb/include/util/SimpleProperties.hpp:
Fixed compiler warning
ndb/include/util/SocketAuthenticator.hpp:
Fixed compiler warning
ndb/include/util/SocketServer.hpp:
Fixed compiler warning
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/common/portlib/NdbTick.c:
Fixed warnings found with gcc -Wshadow
ndb/src/common/transporter/SHM_Transporter.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/common/transporter/TCP_Transporter.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/common/transporter/TCP_Transporter.hpp:
Fixed compiler warning
ndb/src/common/transporter/Transporter.cpp:
Removed not used variable
ndb/src/common/transporter/TransporterRegistry.cpp:
Removed not used variable
ndb/src/common/util/Bitmask.cpp:
Moved function to avoid warnings of not used function
ndb/src/common/util/ConfigValues.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/common/util/File.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/common/util/Properties.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/common/util/SocketClient.cpp:
Fixed wrong return value
ndb/src/common/util/random.c:
Fixed warnings found with gcc -Wshadow
ndb/src/common/util/socket_io.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/cw/cpcd/APIService.cpp:
Removed not used variable
ndb/src/cw/cpcd/main.cpp:
Removed not used variables
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Fixed compiler warnings
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Removed not used variables
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Removed not used variables
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
Removed not used variable
ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp:
Removed not used variables
ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
Removed not used variables
ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp:
Removed not used variables
ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
Removed not used variables
ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
Fixed compiler warnings
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
Removed not used variables
ndb/src/kernel/blocks/suma/Suma.cpp:
Removed not used variables
ndb/src/kernel/blocks/suma/Suma.hpp:
Fixed compiler warnings
ndb/src/kernel/vm/MetaData.hpp:
Fixed compiler warnings
ndb/src/mgmapi/LocalConfig.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/mgmapi/mgmapi.cpp:
Fixed warnings found with gcc -Wshadow
ndb/src/mgmclient/CommandInterpreter.cpp:
Removed not used variables
ndb/src/mgmsrv/ConfigInfo.cpp:
Fixed warnings found with gcc -Wshadow
Removed not used variables
ndb/src/mgmsrv/ConfigInfo.hpp:
Fixed warnings found with gcc -Wshadow
ndb/src/mgmsrv/InitConfigFileParser.cpp:
Prefixed defaults_file, defaults_group_suffix and defaults_extra_file with 'my' to avoid conflicts with local variables in some functions
ndb/src/mgmsrv/MgmtSrvr.cpp:
Removed not used variables and functions
ndb/src/mgmsrv/MgmtSrvr.hpp:
Fixed compiler warnings
ndb/src/mgmsrv/Services.cpp:
Removed not used variables and functions
ndb/src/mgmsrv/main.cpp:
Removed not used variable
ndb/src/ndbapi/ClusterMgr.hpp:
Fixed compiler warnings
ndb/src/ndbapi/Ndb.cpp:
Removed not used variables
ndb/src/ndbapi/NdbBlob.cpp:
Removed not used variables
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Removed not used variables
ndb/src/ndbapi/NdbIndexOperation.cpp:
Removed not used variables
ndb/src/ndbapi/NdbOperationDefine.cpp:
Removed not used variables
ndb/src/ndbapi/NdbOperationExec.cpp:
Removed not used variables
ndb/src/ndbapi/NdbOperationSearch.cpp:
Removed not used variables
ndb/src/ndbapi/NdbScanFilter.cpp:
Fixed compiler warning
ndb/src/ndbapi/NdbScanOperation.cpp:
Removed not used variables
ndb/src/ndbapi/SignalSender.cpp:
Removed not used variables
ndb/src/ndbapi/ndb_cluster_connection.cpp:
Removed not used variable
ndb/tools/delete_all.cpp:
Removed not used variable
ndb/tools/desc.cpp:
Removed not used variable
ndb/tools/drop_index.cpp:
Removed not used variable
ndb/tools/drop_tab.cpp:
Removed not used variable
ndb/tools/listTables.cpp:
Removed not used variable
ndb/tools/ndb_config.cpp:
Fixed warnings found with gcc -Wshadow
Added missing puts(desc)
ndb/tools/restore/Restore.hpp:
Changed delimiter to define instead of static variable, as the static variable caused a LOT of compiler warnings
Fixed compiler warning
ndb/tools/restore/consumer.hpp:
Fixed compiler warning
ndb/tools/restore/restore_main.cpp:
Fixed compiler warnings
ndb/tools/select_all.cpp:
Removed not used variables
ndb/tools/select_count.cpp:
Removed not used variable
server-tools/instance-manager/commands.h:
Fixed compiler warnings
server-tools/instance-manager/guardian.cc:
Fixed compiler warnings
server-tools/instance-manager/instance_options.cc:
Removed not used variables
server-tools/instance-manager/mysql_connection.cc:
Fixed compiler warnings
server-tools/instance-manager/options.cc:
Fixed compiler warnings
server-tools/instance-manager/options.h:
Fixed compiler warnings
server-tools/instance-manager/parse.cc:
Removed not used variable
server-tools/instance-manager/user_map.cc:
Fixed compiler warnings
server-tools/instance-manager/user_map.h:
Fixed compiler warnings
sql/field.cc:
Fixed compiler warnings
sql/field.h:
Fixed compiler warnings
sql/filesort.cc:
Fixed compiler warnings
sql/ha_archive.cc:
Removed table and share arguments from get_share() / free_share() to get rid of compiler warnings
sql/ha_archive.h:
Removed table and share arguments from get_share() / free_share() to get rid of compiler warnings
sql/ha_federated.cc:
Fixed compiler warnings
sql/ha_heap.cc:
Fixed compiler warnings
sql/ha_myisam.cc:
Fixed compiler warnings
sql/ha_myisammrg.cc:
Fixed compiler warnings
sql/ha_ndbcluster.cc:
Fixed compiler warnings
sql/handler.cc:
Fixed compiler warnings
sql/item.cc:
Fixed compiler warnings
sql/item.h:
Fixed compiler warnings
new_item() -> clone_item(), to avoid a lot of warnings with variable 'new_item'
el() -> element_index()
sql/item_cmpfunc.cc:
Fixed compiler warnings
sql/item_cmpfunc.h:
Fixed compiler warnings
sql/item_func.cc:
Fixed compiler warnings
sql/item_geofunc.cc:
Fixed compiler warnings
sql/item_row.h:
Fixed compiler warnings
sql/item_strfunc.cc:
Fixed compiler warnings
sql/item_subselect.cc:
Fixed compiler warnings
sql/item_subselect.h:
Fixed compiler warnings
sql/item_sum.cc:
Fixed compiler warnings
sql/item_timefunc.cc:
Fixed compiler warnings
sql/log.cc:
Fixed compiler warnings
More comments
Added #ifdef HAVE_REPLICATION
sql/log_event.cc:
Fixed compiler warnings
sql/log_event.h:
Fixed compiler warnings
sql/mysql_priv.h:
query_id -> global_query_id, to avoid a lot of clashes with function and class variables
start_time -> server_start_time
sql/mysqld.cc:
Fixed compiler warnings:
- Removed not used variables
- Added #ifndef EMBEDDED_LIBRARY
- Fixed shadow warnings
sql/net_serv.cc:
Fixed compiler warnings
sql/opt_range.cc:
range -> last_range to avoid shadow warnings
Removed not used function print_rowid()
sql/opt_range.h:
range -> last_range to avoid shadow warnings
sql/password.c:
Fixed compiler warnings
sql/protocol.cc:
Fixed compiler warnings
sql/repl_failsafe.cc:
Fixed compiler warnings
sql/set_var.cc:
Fixed compiler warnings
sql/set_var.h:
type() -> show_type()
Fixed compiler warnings
sql/slave.cc:
Fixed compiler warnings
sql/sp_head.cc:
Fixed compiler warnings
sql/sp_head.h:
Fixed compiler warnings
sql/spatial.cc:
Fixed compiler warnings
sql/spatial.h:
length() -> geom_length() to avoid compiler warnings
wkb_end -> wkb_last to avoid compiler warnings with local variables named 'wkb_end'
sql/sql_cache.h:
Fixed compiler warnings
sql/sql_class.cc:
Fixed compiler warnings
sql/sql_class.h:
log -> log_xid() to avoid compiler warnings
Fixed shadow compiler warnings
sql/sql_derived.cc:
Removed not used variable
sql/sql_insert.cc:
Fixed compiler warnings
sql/sql_lex.cc:
Fixed compiler warnings
sql/sql_lex.h:
res -> saved_error to make the meaning of the variable clear and avoid shadow warnings
sql/sql_load.cc:
Fixed compiler warnings
sql/sql_parse.cc:
Fixed compiler warnings
sql/sql_prepare.cc:
Fixed compiler warnings
sql/sql_select.cc:
Fixed compiler warnings
sql/sql_show.cc:
Fixed compiler warnings
sql/sql_string.cc:
Fixed compiler warnings
sql/sql_string.h:
Fixed compiler warnings
sql/sql_table.cc:
Fixed compiler warnings
sql/sql_trigger.cc:
Fixed compiler warnings
sql/sql_trigger.h:
table -> trigger_table to avoid warnings from local variables
sql/sql_union.cc:
Fixed compiler warnings
(mainly res -> saved_error)
sql-common/client.c:
Removed not used variable
sql-common/my_time.c:
Removed not used variable
time -> my_time
sql/sql_update.cc:
Removed not used variable
sql/sql_view.cc:
Removed not used variable
sql/sql_yacc.yy:
Removed not used variable
sql/table.cc:
Removed not used variable
sql/tztime.cc:
Removed not used variable
sql/unireg.cc:
Removed not used variable
strings/ctype-bin.c:
mblen -> mb_len to avoid compiler warnings with local variable mblen
strings/ctype-cp932.c:
Fixed compiler warnings
strings/ctype-eucjpms.c:
Fixed compiler warnings
strings/ctype-mb.c:
mblen -> mb_len to avoid compiler warnings with local variable mblen
strings/ctype-simple.c:
mblen -> mb_len to avoid compiler warnings with local variable mblen
exp -> exponent
strings/ctype-sjis.c:
Fixed compiler warnings
strings/ctype-uca.c:
mblen -> mb_len to avoid compiler warnings with local variable mblen
strings/ctype-ujis.c:
Fixed compiler warnings
strings/ctype-utf8.c:
Fixed compiler warnings
strings/decimal.c:
Fixed compiler warnings
strings/my_vsnprintf.c:
Added comment
strings/strtod.c:
Fixed compiler warnings
tests/mysql_client_test.c:
Fixed compiler warnings
(Biggest part of patch is to not get a conflict with global function 'bind')
this key does not stop" (version for 5.0 only).
UPDATE statement which WHERE clause used key and which invoked trigger
that modified field in this key worked indefinetely.
This problem occured because in cases when UPDATE statement was
executed in update-on-the-fly mode (in which row is updated right
during evaluation of select for WHERE clause) the new version of
the row became visible to select representing WHERE clause and was
updated again and again.
We already solve this problem for UPDATE statements which does not
invoke triggers by detecting the fact that we are going to update
field in key used for scanning and performing update in two steps,
during the first step we gather information about the rows to be
updated and then doing actual updates. We also do this for
MULTI-UPDATE and in its case we even detect situation when such
fields are updated in triggers (actually we simply assume that
we always update fields used in key if we have before update
trigger).
The fix simply extends this check which is done in check_if_key_used()/
QUICK_SELECT_I::check_if_keys_used() routine/method in such way that
it also detects cases when field used in key is updated in trigger.
As nice side-effect we have more precise and thus more optimal
perfomance-wise check for the MULTI-UPDATE.
Also check_if_key_used()/QUICK_SELECT_I::check_if_keys_used() were
renamed to is_key_used()/QUICK_SELECT_I::is_keys_used() in order to
better reflect that boolean predicate.
Note that this check is implemented in much more elegant way in 5.1
mysql-test/r/trigger.result:
Added test case for bug#20670 "UPDATE using key and invoking trigger that
modifies this key does not stop".
mysql-test/t/trigger.test:
Added test case for bug#20670 "UPDATE using key and invoking trigger that
modifies this key does not stop".
sql/key.cc:
Renamed check_if_key_used() to is_key_used(). Also this routine checks if
key uses field which can be updated by before update trigger defined on the
table. As result we avoid using update-on-the-fly method in cases when trigger
updates part of key which is used by select which filters rows to be updated
and thus avoid infinite updates. By doing such check here we cover both UPDATE
and MULTI-UPDATE cases.
sql/mysql_priv.h:
Renamed check_if_key_used() to is_key_used().
sql/opt_range.cc:
Renamed check_if_key_used()/QUICK_SELECT_I::check_if_keys_used() to
is_key_used()/QUICK_SELECT_I::is_keys_used().
sql/opt_range.h:
Renamed QUICK_SELECT_I::check_if_keys_used() method to is_keys_used(),
also updated comment describing it to reflect its extended semantics
(this change was caused by change in check_if_key_used()/is_key_used()
routine semantics).
sql/sql_trigger.cc:
Introduced Table_triggers_list::is_updated_in_before_update_triggers()
method which is needed for checking if field of subject table can be
changed in before update trigger.
sql/sql_trigger.h:
Table_triggers_list:
Removed has_before_update_triggers() method which is not used any longer.
Added declaration of is_updated_in_before_update_triggers() which is
needed for checking if field of subject table can be changed by before
update trigger.
sql/sql_update.cc:
safe_update_on_fly():
check_if_key_used() routine and check_if_keys_used() method were
renamed to is_key_used()/is_keys_used().
Now cases when trigger updates fields which are part of key used for
filtering rows for update are caught directly in is_key_used().
This also allows to cover both UPDATE and MULTI-UPDATE cases.
Changed trigger-handling code so that there will be the one
place for generate statement string for replication log
and for trigger file.
sql/sql_trigger.cc:
Changed trigger-handling code so that there will be the one
place for generate statement string for replication log
and for trigger file.
sql/sql_trigger.h:
Changed trigger-handling code so that there will be the one
place for generate statement string for replication log
and for trigger file.
NDB table".
SQL-layer was not marking fields which were used in triggers as such. As
result these fields were not always properly retrieved/stored by handler
layer. So one might got wrong values or lost changes in triggers for NDB,
Federated and possibly InnoDB tables.
This fix solves the problem by marking fields used in triggers
appropriately.
Also this patch contains the following cleanup of ha_ndbcluster code:
We no longer rely on reading LEX::sql_command value in handler in order
to determine if we can enable optimization which allows us to handle REPLACE
statement in more efficient way by doing replaces directly in write_row()
method without reporting error to SQL-layer.
Instead we rely on SQL-layer informing us whether this optimization
applicable by calling handler::extra() method with
HA_EXTRA_WRITE_CAN_REPLACE flag.
As result we no longer apply this optimzation in cases when it should not
be used (e.g. if we have on delete triggers on table) and use in some
additional cases when it is applicable (e.g. for LOAD DATA REPLACE).
Finally this patch includes fix for bug#20728 "REPLACE does not work
correctly for NDB table with PK and unique index".
This was yet another problem which was caused by improper field mark-up.
During row replacement fields which weren't explicity used in REPLACE
statement were not marked as fields to be saved (updated) so they have
retained values from old row version. The fix is to mark all table
fields as set for REPLACE statement. Note that in 5.1 we already solve
this problem by notifying handler that it should save values from all
fields only in case when real replacement happens.
include/my_base.h:
Added HA_EXTRA_WRITE_CAN_REPLACE, HA_EXTRA_WRITE_CANNOT_REPLACE - new
parameters for ha_extra() method. We use them to inform handler that
write_row() which tries to insert new row into the table and encounters
some already existing row with same primary/unique key can replace old
row with new row instead of reporting error.
mysql-test/r/federated.result:
Additional test for bug#18437 "Wrong values inserted with a before update
trigger on NDB table".
mysql-test/r/ndb_replace.result:
Added test for bug #20728 "REPLACE does not work correctly for NDB table
with PK and unique index". Updated wrong results from older test.
mysql-test/t/federated.test:
Additional test for bug#18437 "Wrong values inserted with a before update
trigger on NDB table".
mysql-test/t/ndb_replace.test:
Added test for bug #20728 "REPLACE does not work correctly for NDB table
with PK and unique index".
sql/ha_ndbcluster.cc:
We no longer rely on reading LEX::sql_command value in handler in order
to determine if we can enable optimization which allows us to handle REPLACE
statement in more efficient way by doing replaces directly in write_row()
method without reporting error to SQL-layer.
Instead we rely on SQL-layer informing us whether this optimization
applicable by calling handler::extra() method with
HA_EXTRA_WRITE_CAN_REPLACE flag.
As result we no longer apply this optimization in cases when it should not
be used (e.g. if we have on delete triggers on table) and use in some
additional cases when it is applicable (e.g. for LOAD DATA REPLACE).
sql/item.cc:
Item_trigger_field::setup_field():
Added comment explaining why we don't set Field::query_id in this method.
sql/mysql_priv.h:
mysql_alter_table() function no longer takes handle_duplicates argument.
Added declaration of mark_fields_used_by_triggers_for_insert_stmt() function.
sql/sql_delete.cc:
Mark fields which are used by ON DELETE triggers so handler will retrieve
values for these fields.
sql/sql_insert.cc:
Explicitly inform handler that we are doing REPLACE (using ha_extra() method)
in cases when it can promote insert operation done by write_row() to replace.
Also when we do REPLACE we want to store values for all columns so we should
inform handler about it.
Finally we should mark fields used by ON UPDATE/ON DELETE triggers as such
so handler can properly retrieve/restore values in these fields during
execution of REPLACE and INSERT ... ON DUPLICATE KEY UPDATE statements.
sql/sql_load.cc:
Explicitly inform handler that we are doing LOAD DATA REPLACE (using
ha_extra() method) in cases when it can promote insert operation done by
write_row() to replace.
Also when we do replace we want to save (replace) values for all columns
so we should inform handler about it.
Finally to properly execute LOAD DATA for table with triggers we should
mark fields used by ON INSERT triggers as such so handler can properly
store values for these fields.
sql/sql_parse.cc:
mysql_alter_table() function no longer takes handle_duplicates argument.
sql/sql_table.cc:
Got rid of handle_duplicates argument in mysql_alter_table() and
copy_data_between_tables() functions. These functions were always
called with handle_duplicates == DUP_ERROR and thus contained dead
(and probably incorrect) code.
sql/sql_trigger.cc:
Added Table_triggers_list::mark_fields_used() method which is used to mark
fields read/set by triggers as such so handlers will be able properly
retrieve/store values in these fields.
sql/sql_trigger.h:
Table_triggers_list:
Added mark_fields_used() method which is used to mark fields read/set by
triggers as such so handlers will be able properly retrieve/store values
in these fields. To implement this method added 'trigger_fields' member
which is array of lists linking items for all fields used in triggers
grouped by event and action time.
sql/sql_update.cc:
Mark fields which are used by ON UPDATE triggers so handler will retrieve
and save values for these fields.
mysql-test/r/ndb_trigger.result:
Added test for bug#18437 "Wrong values inserted with a before update trigger
on NDB table".
mysql-test/t/ndb_trigger.test:
Added test for bug#18437 "Wrong values inserted with a before update trigger
on NDB table".
into mysql.com:/home/dlenev/src/mysql-5.0-bg13525
sql/sql_table.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_trigger.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/trigger.result:
SCCS merged
mysql-test/t/trigger.test:
SCCS merged
Let us transfer triggers associated with table when we rename it (but only if
we are not changing database to which table belongs, in the latter case we will
emit error).
mysql-test/r/trigger.result:
Added test for bug #13525 "Rename table does not keep info of triggers".
mysql-test/t/trigger.test:
Added test for bug #13525 "Rename table does not keep info of triggers".
sql/sql_rename.cc:
rename_tables():
Now after renaming table's .FRM file and updating handler data we call
Table_triggers_list::change_table_name() which is reponsible for
updating .TRG and .TRN files.
sql/sql_table.cc:
mysql_alter_table():
Now in case when ALTER should rename table we call
Table_triggers_list::change_table_name() which is responsible
for updating .TRG and .TRN files after renaming table.
sql/sql_trigger.cc:
Added Table_triggers_list::change_table_name() method and
change_table_name_in_triggers()/trignames() methods responsible for updating
.TRG and .TRN files for table during its renaming.
Two small cleanups - removed versioning for .TRG files (since it was not working
before anyway) and emphasized that type of lock specified in tables list is
unimportant for DROP TABLE (since this statement uses name-locking).
sql/sql_trigger.h:
Table_triggers_list:
Added on_table_names_list member to store pointers and lenghts of
"ON table_name" parts in triggers' definitions to be able easily
change them during RENAME TABLE.
Added change_table_name() method and change_table_name_in_trignames/triggers()
helper methods responsible for updating .TRG and .TRN files.
sql/sql_yacc.yy:
trigger_tail:
To be able properly update triggers' definitions with new table names
when renaming tables we need to know where in CREATE TRIGGER statement
"ON db_name.table_name" part resides.
Small cleanup - let us emphasize that for CREATE TRIGGER statement
lock type which is specified in table list is unimportant since
name-locking is used.
- BUG#15166: Wrong update permissions required to execute triggers
- BUG#15196: Wrong select permission required to execute triggers
The idea of the fix is to check necessary privileges
in Item_trigger_field::fix_fields(), instead of having "special variables"
technique. To achieve this, we should pass to an Item_trigger_field instance
a flag, which will indicate the usage/access type of this trigger variable.
mysql-test/r/trigger-grant.result:
Update the result file.
mysql-test/t/trigger-grant.test:
Add test cases for BUG#15166 and BUG#15196
sql/item.cc:
Item_trigger_field: check appropriate (SELECT/UPDATE) privilege in fix_fields().
sql/item.h:
Add a flag to specify access type for trigger field.
sql/sql_trigger.cc:
"Special variable" technique of checking privileges for NEW/OLD variables
was replaced by checking table- and column-level privileges in
Item_trigger_field::fix_fields().
sql/sql_trigger.h:
"Special variable" technique of checking privileges for NEW/OLD variables
was replaced by checking table- and column-level privileges in
Item_trigger_field::fix_fields().
sql/sql_yacc.yy:
Specify access type for trigger fields.
into mysql.com:/home/dlenev/src/mysql-5.0-bg11555-2
mysql-test/r/sp-error.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_trigger.h:
Auto merged
sql/sp.cc:
Manual merge.
sql/sp.h:
Manual merge.
sql/sql_base.cc:
Manual merge.
impossible view security".
We should not expose names of tables which are explicitly or implicitly (via
routine or trigger) used by view even if we find that they are missing.
So during building of list of prelocked tables for statement we track which
routines (and therefore tables for these routines) are used from views. We
mark elements of LEX::routines set which correspond to routines used in views
by setting Sroutine_hash_entry::belong_to_view member to point to TABLE_LIST
object for topmost view which uses routine. We propagate this mark to all
routines which are used by this routine and which we add to this set. We also
mark tables used by such routine which we add to the list of tables for
prelocking as belonging to this view.
mysql-test/r/sp-error.result:
Added test for bug #11555 "Stored procedures: current SP tables locking make
impossible view security".
mysql-test/r/view.result:
We should not expose tables which are expicitly/implicitly used in view in
check table statement.
mysql-test/t/sp-error.test:
Added test for bug #11555 "Stored procedures: current SP tables locking make
impossible view security".
mysql-test/t/view.test:
Removed comment obsoleted by bugfix.
sql/sp.cc:
We should not expose names of tables which are explicitly or implicitly
(via routine or trigger) used by view even if we find that they are missing.
So during building of list of prelocked tables for statement we track which
routines (and therefore tables for these routines) are used from views. We
mark elements of LEX::routines set which correspond to routines used in views
by setting Sroutine_hash_entry::belong_to_view member to point to TABLE_LIST
object for topmost view which uses routine. We propagate this mark to all
routines which are used by this routine and which we add to this set. We also
mark tables used by such routine which we add to the list of tables for
prelocking as belonging to this view.
sql/sp.h:
sp_cache_routines_and_add_tables_for_view()/for_triggers():
To be able to determine correctly uppermost view which uses this view/table
with trigger we have to pass pointer to TABLE_LIST object instead of pointer
to view's LEX or to Table_triggers_list object.
sql/sp_head.cc:
sp_head::add_used_tables_to_table_list():
Added new argument which allows to mark tables which are added to table
list for prelocking as belonging to view (this allows properly hide names
of tables which are used in routines used by views).
sql/sp_head.h:
sp_head::add_used_tables_to_table_list():
Added new argument which allows to mark tables which are added to table
list for prelocking as belonging to view (this allows properly hide names
of tables which are used in routines used by views).
sql/sql_base.cc:
open_tables():
sp_cache_routines_and_add_tables_for_view()/for_triggers() now accept
pointer to table list element as last argument, this allows them to determine
correctly uppermost view which uses this view/table with trigger.
sql/sql_trigger.h:
Table_triggers_list:
sp_cache_routines_and_add_tables_for_triggers() now accept pointer to table
list element as last argument, this allows to determine correctly uppermost
view which uses this table with trigger.
into mysql.com:/usr/home/pem/bug14233/mysql-5.0
mysql-test/r/sp-error.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/sp.cc:
Auto merged
sql/sp.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_trigger.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/share/errmsg.txt:
SCCS merged
checks on trigger activation)
mysql-test/r/information_schema.result:
Update result file: a new column DEFINER has been added to
INFORMATION_SCHEMA.TRIGGERS.
mysql-test/r/mysqldump.result:
Update result file: a new column DEFINER has been added to
INFORMATION_SCHEMA.TRIGGERS.
mysql-test/r/rpl_ddl.result:
Update result file: a new column DEFINER has been added to
INFORMATION_SCHEMA.TRIGGERS.
mysql-test/r/rpl_sp.result:
Update result file: a new clause DEFINER has been added to
CREATE TRIGGER statement.
mysql-test/r/rpl_trigger.result:
Results for new test cases were added.
mysql-test/r/skip_grants.result:
Error message has been changed.
mysql-test/r/trigger.result:
Added DEFINER column.
mysql-test/r/view.result:
Error messages have been changed.
mysql-test/r/view_grant.result:
Error messages have been changed.
mysql-test/t/mysqldump.test:
Drop created procedure to not affect further tests.
mysql-test/t/rpl_trigger.test:
Add tests for new column in information schema.
mysql-test/t/skip_grants.test:
Error tag has been renamed.
mysql-test/t/view.test:
Error tag has been renamed.
mysql-test/t/view_grant.test:
Error tag has been changed.
sql/item_func.cc:
Fix typo in comments.
sql/mysql_priv.h:
A try to minimize copy&paste:
- introduce operations to be used from sql_yacc.yy;
- introduce an operation to be used from trigger and
view processing code.
sql/share/errmsg.txt:
- Rename ER_NO_VIEW_USER to ER_MALFORMED_DEFINER in order to
be shared for view and trigger implementations;
- Fix a typo;
- Add a new error code for trigger warning.
sql/sp.cc:
set_info() was split into set_info() and set_definer().
sql/sp_head.cc:
set_info() was split into set_info() and set_definer().
sql/sp_head.h:
set_info() was split into set_info() and set_definer().
sql/sql_acl.cc:
Add a new check: exit from the cycle if the table is NULL.
sql/sql_lex.h:
- Rename create_view_definer to definer, since it is used for views
and triggers;
- Change st_lex_user to LEX_USER, since st_lex_user is a structure.
So, formally, it should be "struct st_lex_user", which is longer
than just LEX_USER;
- Add trigger_definition_begin.
sql/sql_parse.cc:
- Add a new check: exit from the cycle if the table is NULL;
- Implement definer-related functions.
sql/sql_show.cc:
Add DEFINER column.
sql/sql_trigger.cc:
Add DEFINER support for triggers.
sql/sql_trigger.h:
Add DEFINER support for triggers.
sql/sql_view.cc:
Rename create_view_definer to definer.
sql/sql_yacc.yy:
Add support for DEFINER-clause in CREATE TRIGGER statement.
Since CREATE TRIGGER and CREATE VIEW can be similar at the start,
yacc is unable to distinguish between them. So, had to modify both
statements in order to make it parsable by yacc.
mysql-test/r/trigger-compat.result:
Result file for triggers backward compatibility test.
mysql-test/r/trigger-grant.result:
Result file of the test for WL#2818.
mysql-test/t/trigger-compat.test:
Triggers backward compatibility test: check that the server
still can load triggers w/o definer attribute and modify
tables with such triggers (add a new trigger, etc).
mysql-test/t/trigger-grant.test:
Test for WL#2818 -- check that DEFINER support in triggers
works properly
Added error checking for errors when attempting to use stored procedures
after the mysql.proc table has been dropped, corrupted, or tampered with.
Test cases were put in a separate file (sp-destruct.test).
mysql-test/t/sp.test:
Added comment.
sql/share/errmsg.txt:
New error message for corrupted mysql.proc table.
sql/sp.cc:
Check and return error code when caching stored routines.
In the case when no error message has been set, set one.
sql/sp.h:
Return error code from stored routine cache function.
sql/sql_base.cc:
Check for error from sp_cache_routines_* calls.
sql/sql_trigger.h:
Updated friend declaration for sp_cache_routines*.
mysql-test/r/sp-destruct.result:
New test file for destruction of the mysql.proc table.
mysql-test/t/sp-destruct.test:
New result file for destruction of the mysql.proc table.
This bug occurs when some trigger for table used by DML statement is created
or changed while statement was waiting in lock_tables(). In this situation
prelocking set which we have calculated becames invalid which can easily lead
to errors and even in some cases to crashes.
With proposed patch we no longer silently reopen tables in lock_tables(),
instead caller of lock_tables() becomes responsible for reopening tables and
recalculation of prelocking set.
mysql-test/t/trigger.test:
Added tests for bug #12704 "Server crashes during trigger execution".
Unfortunately these tests rely on the order in which tables are locked
by statement so they are non-determenistic and therefore should be disabled.
sql/lock.cc:
mysql_lock_tables():
Now instead of always reopening altered or dropped tables by itself
mysql_lock_tables() can notify upper level and rely on caller doing this.
sql/mysql_priv.h:
Now mysql_lock_tables() can either reopen deleted or altered tables by itself
or notify caller about such situation through 'need_reopen' argument and rely
on it in this.
Also lock_tables() has new 'need_reopen' out parameter through which it
notifies caller that some tables were altered or dropped so he needs to reopen
them (and rebuild prelocking set some triggers may change or simply appear).
sql/sp.cc:
sp_add_used_routine():
To be able to restore LEX::sroutines_list to its state right after parsing
we now adjust LEX::sroutines_list_own_last/sroutines_list_own_elements when
we add directly used routine.
sp_remove_not_own_routines():
Added procedure for restoring LEX::sroutines/sroutines_list to their state
right after parsing (by throwing out non-directly used routines).
sp_cache_routines_and_add_tables_for_view()/sp_update_stmt_used_routines():
We should use LEX::sroutines_list instead of LEX::sroutines as source of
routines used by view, since LEX::sroutines is not availiable for view
on second attempt to open it (see comment in open_tables() about it).
sql/sp.h:
sp_remove_not_own_routines():
Added procedure for restoring LEX::sroutines/sroutines_list to their state
right after parsing (by throwing out non-directly used routines).
sql/sp_head.cc:
Removed assert which is no longer always true.
sql/sql_base.cc:
reopen_table():
When we re-open table and do shallow copy of TABLE object we should adjust
pointers to it in associated Table_triggers_list object. Removed nil
operation.
open_tables():
Now this function is able to rebuild prelocking set for statement if it is
needed. It also correctly handles FLUSH TABLES which may occur during its
execution.
lock_tables():
Instead of allowing mysql_lock_tables() to silently reopen altered or dropped
tables let us notify caller and rely on that it will do reopen itself.
This solves the problem when trigger suddenly appears or changed during
mysq_lock_tables().
close_tables_for_reopen():
Added routine for properly preparing for reopening of tables and recalculation
of set of prelocked tables.
sql/sql_handler.cc:
Here we let mysql_lock_tables() to reopen dropped or altered tables by itself.
sql/sql_insert.cc:
Here we let mysql_lock_tables() to reopen dropped or altered tables by itself.
sql/sql_lex.cc:
LEX:
Added 'sroutines_list_own_last' and 'sroutines_list_own_elements' members
which are used for keeping state in which 'sroutines_list' was right after
statement parsing (and for restoring of this list to this state).
sql/sql_lex.h:
LEX:
Added 'sroutines_list_own_last' and 'sroutines_list_own_elements' members
which are used for keeping state in which 'sroutines_list' was right after
statement parsing (and for restoring of this list to this state).
Added chop_off_not_own_tables() method to simplify throwing away list
of implicitly used (prelocked) tables.
sql/sql_prepare.cc:
Now instead of silently reopening altered or dropped tables in
lock_tables() we notify caller and rely on that the caller will
reopen tables.
sql/sql_table.cc:
Here we let mysql_lock_tables() to reopen dropped or altered tables by itself.
sql/sql_trigger.cc:
Added Table_triggers_list::set_table() method to adjust Table_triggers_list
to new pointer to TABLE instance.
sql/sql_trigger.h:
Added Table_triggers_list::set_table() method to adjust Table_triggers_list
to new pointer to TABLE instance.
sql/sql_update.cc:
Now instead of silently reopening altered or dropped tables in
lock_tables() we notify caller and rely on that the caller will
reopen tables.
This allows us to use statement replication with functions and triggers
The following things are fixed with this patch:
- NOW() and automatic timestamps takes the value from the main event for functions and triggers (which allows these to replicate with statement level logging)
- No side effects for triggers or functions with auto-increment values(), last_insert_id(), rand() or found_rows()
- Triggers can't return result sets
Fixes bugs:
#12480: NOW() is not constant in a trigger
#12481: Using NOW() in a stored function breaks statement based replication
#12482: Triggers has side effects with auto_increment values
#11587: trigger causes lost connection error
mysql-test/r/trigger.result:
Added test fpr big
mysql-test/t/sp-error.test:
Changed error message numbers
mysql-test/t/trigger.test:
Added test for trigger returning result (#11587)
sql/item_func.cc:
Store the first used seed value for RAND() value.
(This makes rand() replicatable in functions and triggers)
Save and clear run context before executing a stored function and restore it afterwards.
This removes side effects of stored functions for RAND(), auto-increment values and NOW() and makes most stored function replicatable
sql/share/errmsg.txt:
Reuse error message also for triggers
sql/sp_head.cc:
If in function or trigger, don't change value of NOW()
(This allows us to use statement replication with functions that directly or indirectly uses timestamps)
sql/sql_class.cc:
Added framework for storing and retrieving run context while exceuting triggers or stored functions.
sql/sql_class.h:
Added framework for storing and retrieving run context while exceuting triggers or stored functions.
sql/sql_parse.cc:
If in function or trigger, don't change value of NOW()
(This allows us to use statement replication with functions that directly or indirectly uses timestamps)
sql/sql_trigger.cc:
Moved process_triggers function from sql_trigger.h
Use reset/restore sub_statement_state while executing triggers to avoid side effects and make them replicatable
sql/sql_trigger.h:
Moved process_triggers function from sql_trigger.h
Use reset/restore sub_statement_state while executing triggers to avoid side effects and make them replicatable
sql/sql_yacc.yy:
Give error message if trigger can return a result set (Bug #11587)
tests/fork_big2.pl:
Removed return from end of lines
mysql-test/r/rpl_trigger.result:
New BitKeeper file ``mysql-test/r/rpl_trigger.result''
mysql-test/t/rpl_trigger.test:
New BitKeeper file ``mysql-test/t/rpl_trigger.test''
mysql-test/r/sp.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sp_head.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_trigger.h:
Auto merged
its body, but lets each statement to get/release its own locks. This allows a broader set
of statements to be executed inside PROCEDUREs (but breaks replication)
This patch should fix BUG#8072, BUG#8766, BUG#9563, BUG#11126
mysql-test/r/sp-security.result:
Drop tables this test attempts to create
mysql-test/r/sp-threads.result:
Update test results
mysql-test/r/sp.result:
Disabled a test that triggers BUG#11986, cleanup used tables when tests start.
mysql-test/r/view.result:
Enabled a test case that now works with prelocking-free SPs
mysql-test/t/sp-security.test:
Drop tables this test attempts to create
mysql-test/t/sp.test:
Disabled a test that triggers BUG#11986, cleanup used tables when tests start.
mysql-test/t/view.test:
Enabled a test case that now works with prelocking-free SPs
sql/handler.cc:
Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
sql/item_func.cc:
Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
sql/sp.cc:
Non-prelocked SP execution: Added support for skipping prelocking of procedure body for
"CALL proc(...)" statements.
sql/sp.h:
Non-prelocked SP execution: Added support for skipping prelocking of procedure body for
"CALL proc(...)" statements.
sql/sp_cache.h:
Added comments
sql/sp_head.cc:
Non-prelocked SP execution:
* Try to unlock tables after PROCEDURE arguments have been evaluated.
* Make sp_lex_keeper be able to execute in 2 modes: A) when already in prelocked mode
B) when its statement enters/leaves prelocked mode itself.
sql/sp_head.h:
Non-prelocked SP execution: Make sp_lex_keeper to additionally keep list of tables it
needs to prelock when its statement enters/leaves prelocked mode on its own.
sql/sql_base.cc:
Non-prelocked SP execution: Make open_tables() to
* detect 'CALL proc(...)' and not to do prelocking for procedure body statements.
* Make lex->query_tables_last to point precisely to a boundary in lex->query_tables
list where 'own' tables and views' tables end and added-for-prelocking tables begin.
(it was not true before - view's tables could end up after query_tables_own_last)
sql/sql_class.cc:
Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
sql/sql_class.h:
Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
sql/sql_lex.cc:
Non-prelocked SP execution: More rigourous cleanup in st_lex::cleanup_after_one_table_open()
sql/sql_parse.cc:
Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt, remove outdated comments
sql/sql_trigger.h:
Rename: thd->transaction.in_sub_stmt -> thd->in_sub_stmt
other sql_mode fixes
mysql-test/r/information_schema.result:
changes in information schema
mysql-test/r/trigger.result:
storing and restoring sql modes for triggers
mysql-test/t/trigger.test:
storing and restoring parsing modes for triggers
sql/mysqld.cc:
add length of mode names
sql/parse_file.cc:
new type of list (ulonglong)
sql/parse_file.h:
new type of list (ulonglong)
sql/set_var.cc:
mode output made as static method
sql/set_var.h:
mode output made as static method
sql/sp_head.cc:
added sql_mode storing/restoring during SP execution
optimised sql_mode printing
sql/sp_head.h:
comment fixed according this changes
sql/sql_show.cc:
added sql_mode field
sql/sql_trigger.cc:
store/restore sql_mode which was in force during ctrigger creation
sql/sql_trigger.h:
store/restore sql_mode which was in force during ctrigger creation
sql/sql_view.cc:
fixed sql_mode
"Triggers have the wrong namespace"
"Triggers: duplicate names allowed"
"Triggers: CREATE TRIGGER does not accept fully qualified names"
"SHOW TRIGGERS"
mysql-test/r/information_schema.result:
Added tests for new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command.
mysql-test/r/information_schema_db.result:
INFORMATION_SCHEMA.TRIGGERS view was added.
mysql-test/r/rpl_sp.result:
Now DROP TRIGGER interprets first part of trigger identifier as database
name and not as table name. Adjusted tests properly.
mysql-test/r/trigger.result:
Now DROP TRIGGER interprets first part of trigger identifier as database
name and not as table name. Adjusted tests properly.
Added test checking that triggers have database wide namespace.
Added test for bug #8791 "Triggers: Allowed to create triggers on a subject
table in a different DB".
mysql-test/r/view.result:
Now DROP TRIGGER interprets first part of trigger identifier as database
name and not as table name. Adjusted tests properly.
mysql-test/t/information_schema.test:
Added tests for new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command.
mysql-test/t/rpl_sp.test:
Now DROP TRIGGER interprets first part of trigger identifier as database
name and not as table name. Adjusted tests properly.
mysql-test/t/trigger.test:
Now DROP TRIGGER interprets first part of trigger identifier as database
name and not as table name. Adjusted tests properly.
Added test checking that triggers have database wide namespace.
Added test for bug #8791 "Triggers: Allowed to create triggers on a subject
table in a different DB".
mysql-test/t/view.test:
Now DROP TRIGGER interprets first part of trigger identifier as database
name and not as table name. Adjusted tests properly.
sql/handler.cc:
Added .TRN tho the list of known file extensions assoicated with tables.
sql/item.h:
trg_action_time_type/trg_event_type enums:
Added TRG_ACTION_MAX/TRG_EVENT_MAX elements which should be used instead of
magical values in various loops where we iterate through all types of trigger
action times or/and trigger event types.
sql/lex.h:
Added new symbol "TRIGGERS".
sql/mysql_priv.h:
Added declaration of constant holding extension for trigger name (.TRN) files.
sql/mysqld.cc:
Added statistical variable for SHOW TRIGGERS command.
sql/share/errmsg.txt:
Added error message saying that one attempts to create trigger in wrong schema.
sql/sp.cc:
Replaced magical values with TRG_EVENT_MAX/TRG_ACTION_MAX constants.
sql/sql_base.cc:
open_unireg_entry():
Now Table_triggers_list::check_n_load() has one more argument which
controls whether we should prepare Table_triggers_list with fully functional
triggers or load only their names.
sql/sql_lex.h:
Added element for new SHOW TRIGGERS command to enum_sql_command enum.
sql/sql_parse.cc:
prepare_schema_table():
Added support for SHOW TRIGGERS statement.
sql/sql_show.cc:
Added new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command.
sql/sql_table.cc:
mysql_rm_table_part2():
Replaced simple deletion of .TRG file with call to
Table_triggers_list::drop_all_triggers which will also delete .TRN files
for all triggers associated with table.
sql/sql_trigger.cc:
Now triggers have database wide namespace. To support it we create special .TRN
file with same name as trigger for each trigger. This file contains name of
trigger's table so one does not need to specify it explicitly in DROP TRIGGER.
Moreover DROP TRIGGER treats first part of trigger identifier as database name
now. Updated mysql_create_or_drop_trigger() routine and
Table_triggers_list::create_trigger()/drop_trigger()/check_n_load() methods
accordingly. Added add_table_for_trigger() routine and
Table_triggers_list::drop_all_triggers() method.
Added Table_triggers_list::get_trigger_info() for obtaining trigger metadata.
sql/sql_trigger.h:
Table_triggers_list:
Use TRG_EVENT_MAX, TRG_ACTION_MAX instead of magic values.
Added get_trigger_info() method for obtaining trigger's meta-data.
Added drop_all_triggers() method which drops all triggers for table.
Added declarations of trg_action_time_type_names/trg_event_type_names
arrays which hold names of triggers action time types and event types.
sql/sql_yacc.yy:
Changed grammar for CREATE/DROP TRIGGER to support database wide trigger
namespace. Added new SHOW TRIGGERS statement.
sql/table.h:
enum enum_schema_tables:
Added constant for new INFORMATION_SCHEMA.TRIGGERS view.
crash if referencing a table" and several other related bugs.
Fix for bug #11834 "Re-execution of prepared statement with dropped function
crashes server." which was spotted during work on previous bugs.
Also couple of nice cleanups:
- Replaced two separate hashes for stored routines used by statement with one.
- Now instead of doing one pass through all routines used in statement for
caching them and then doing another pass for adding their tables to table
list, we do only one pass during which do both things.
mysql-test/r/sp-error.result:
Added test for bug #11834 "Re-execution of prepared statement with dropped
function crashes server" also covering handling of prepared statements
which use stored functions but does not require prelocking.
mysql-test/r/sp.result:
Updated test for LOCK TABLES with views in table list.
(Old version of statement used in this test will work ok now, since prelocking
algorithm was tuned and will lock only one multi-set of tables for each routine
even if this routine is used in several different views).
mysql-test/r/trigger.result:
Added several tests for triggers using tables.
mysql-test/t/sp-error.test:
Added test for bug #11834 "Re-execution of prepared statement with dropped
function crashes server" also covering handling of prepared statements
which use stored functions but does not require prelocking.
mysql-test/t/sp.test:
Updated comment about recursive views to reflect current situation.
Updated test for LOCK TABLES with views in table list.
(Old version of statement used in this test will work ok now, since prelocking
algorithm was tuned and will lock only one multi-set of tables for each routine
even if this routine is used in several different views).
mysql-test/t/trigger.test:
Added several tests for triggers using tables.
sql/item_func.cc:
Item_func_sp::cleanup():
By next statement execution stored function can be dropped or altered so
we can't assume that sp_head object for it will be still valid.
sql/sp.cc:
- Added Sroutine_hash_entry structure that represents element in the set of
stored routines used by statement or routine. We can't as before use
LEX_STRING for this purprose because we want link all elements of this set
in list.
- Replaced sp_add_to_hash() with sp_add_used_routine() which takes into account
that now we use one hash for stored routines used by statement instead of two
and which mantains list linking all elelemnts in this hash.
- Renamed sp_merge_hash() to sp_update_sp_used_routines().
- Introduced sp_update_stmt_used_routines() for adding elements to the set of
routines used by statement from another similar set for statement or routine.
This function will also mantain list linking elements of destination set.
- Now instead of one sp_cache_routines() function we have family of
sp_cache_routines_and_add_tables() functions which are also responsible for
adding tables used by routines being cached to statement table list. Nice
optimization - thanks to list linking all elements in the hash of routines
used by statement we don't need to perform several iterations over this hash
(as it was before in cases when we have added new elements to it).
sql/sp.h:
Added declarations of functions used for manipulations with set (hash) of stored
routines used by statement.
sql/sp_head.cc:
sp_name::init_qname():
Now sp_name also holds key identifying routine in the set (hash) of
stored routines used by statement.
sp_head:
Instead of two separate hashes sp_funs/m_spprocs representing sets of stored
routines used by this routine we use one hash - m_sroutines.
sp_instr_set_trigger_field:
Added support for subqueries in assignments to row accessors in triggers.
Removed definition of sp_add_sp_tables_to_table_list() and auxilary functions
since now we don't have separate stage on which we add tables used by routines
used by statement to table list for prelocking. We do it on the same stage as
we load those routines in SP cache. So all this functionality moved to
sp_cache_routines_and_add_tables() family of functions.
sql/sp_head.h:
sp_name:
Now this class also holds key identifying routine in the set (hash) of stored
routines used by statement.
sp_head:
Instead of two separate hashes sp_funs/m_spprocs representing sets of stored
routines used by this routine we use one hash - m_sroutines.
sp_instr_set_trigger_field:
Added support for subqueries in assignments to row accessors in triggers.
Removed declaration of sp_add_sp_tables_to_table_list() since now we don't have
separate stage on which we add tables used by routines used by statement to
table list for prelocking. We do it on the same stage as we load those routines
in SP cache.
sql/sql_base.cc:
open_tables():
- LEX::spfuns/spprocs hashes were replaced with one LEX::sroutines hash.
- Now instead of doing one pass through all routines used in statement for
caching them and then doing another pass for adding their tables to table
list, we do only one pass during which do both things. It is easy to do
since all routines in the set of routines used by statement are linked in
the list. This also allows us to calculate table list for prelocking more
precisely.
- Now triggers properly inform prelocking algorithm about tables they use.
sql/sql_lex.cc:
lex_start():
Replaced LEX::spfuns/spprocs with with one LEX::sroutines hash.
Added LEX::sroutines_list list linking all elements in this hash.
st_lex::st_lex():
Moved definition of LEX constructor to sql_lex.cc file to be able
use sp_sroutine_key declaration from sp.h in it.
sql/sql_lex.h:
LEX:
Replaced two separate hashes for stored routines used by statement with one.
Added list linking all elements in this hash to be able to iterate through all
elements and add new elements to this hash at the same time.
Moved constructor definition to sql_lex.cc.
sql/sql_parse.cc:
mysql_execute_command():
Replaced LEX::spfuns/spprocs with one LEX::sroutines hash.
sql/sql_trigger.cc:
Added missing GNU GPL notice.
Table_triggers_list::check_n_load()
Added initialization of sroutines_key which stores key representing
triggers of this table in the set (hash) of routines used by this statement.
sql/sql_trigger.h:
Added missing GNU GPL notice.
Table_triggers_list:
Added sroutines_key member to store key representing triggers of this
table in the set (hash) of routines used by this statement.
Declared sp_cache_routines_and_add_tables_for_triggers() as friend since
it needs access to sroutines_key and trigger bodies.
sql/sql_yacc.yy:
- Now we use sp_add_used_routine() instead of sp_add_to_hash() for adding
elements to the set of stored routines used in statement.
- Enabled support of subqueries as right sides in assignments to triggers' row
accessors.
We should not allow explicit or implicit transaction commits inside
of stored functions or triggers (so in autocommit mode we should not
do commits after execution of sub-statement).
Also since we don't support nested statement transactions in 5.0,
we shouldn't commit or rollback stmt transactions while we are inside
stored functions or triggers. This should be fixed in later (>=5.1)
releases.
mysql-test/r/sp_trans.result:
Added test for bug #10015 "Crash in InnoDB if stored routines are used"
and for general transaction handling inside of functions.
mysql-test/t/sp_trans.test:
Added test for bug #10015 "Crash in InnoDB if stored routines are used"
and for general transaction handling inside of functions.
sql/handler.cc:
ha_trans_commit()/ha_trans_rollback():
Since we don't support nested statement transactions in 5.0,
we can't commit or rollback stmt transactions while we are inside
stored functions or triggers. So we simply do nothing now.
This should be fixed in later ( >= 5.1) releases.
sql/item_func.cc:
Item_func_sp::execute():
Set THD::transaction.in_sub_stmt flag to TRUE during stored function
execution to prevent commits and rollbacks for statement level
transactions, since doing them will ruin such transaction for
stateemtn which calls this function.
sql/share/errmsg.txt:
Added error message which says that statements doing explicit or implicit
commits are disallowed in triggers and stored functions.
sql/sql_base.cc:
close_thread_tables():
Clarified comment about committing of statement transactions in
prelocked mode.
sql/sql_class.h:
THD::transaction:
Added in_sub_stmt method which indicates that we are executing
statements from trigger or stored function now, and thus
statement transaction belongs to statement which invoked this
routine and we should not commit or rollback it while executing
these sub-statements.
sql/sql_parse.cc:
end_active_trans()/begin_trans()/end_trans():
We should not commit or rollback global (non-stmt) transaction
if we are executing stored function or trigger. These checks will
catch situation when we are trying to do commit or rollback in stored
procedure which is called from function or trigger.
sql/sql_trigger.h:
Table_triggers_list::process_triggers():
Set THD::transaction.in_sub_stmt flag to TRUE during trigger
execution to prevent commits and rollbacks for statement level
transactions, since doing them will ruin such transaction for
stateemtn which invokes this trigger.
sql/sql_yacc.yy:
Prohibited usage of statements which do explicit or implicit commit or
rollback inside of stored functions and triggers.
#5860 "Multi-table UPDATE does not activate update triggers"
#6812 "Triggers are not activated for INSERT ... SELECT"
#8755 "Trigger is not activated by LOAD DATA".
This patch also implements proper handling of triggers for special forms
of insert like REPLACE or INSERT ... ON DUPLICATE KEY UPDATE.
Also now we don't call after trigger in case when we have failed to
inserted/update or delete row. Trigger failure should stop statement
execution.
I have not properly tested handling of errors which happen inside of
triggers in this patch, since it is simplier to do this once we will be
able to access tables from triggers.
mysql-test/r/trigger.result:
Added tests for triggers behavior for various non-standard forms of
INSERT such as REPLACE and INSERT ... ON DUPLICATE KEY UPDATE.
Also added tests for bugs #5860 "Multi-table UPDATE does not activate
update triggers", #6812 "Triggers are not activated for INSERT ... SELECT"
and #8755 "Trigger is not activated by LOAD DATA".
mysql-test/t/trigger.test:
Added tests for triggers behavior for various non-standard forms of
INSERT such as REPLACE and INSERT ... ON DUPLICATE KEY UPDATE.
Also added tests for bugs #5860 "Multi-table UPDATE does not activate
update triggers", #6812 "Triggers are not activated for INSERT ... SELECT"
and #8755 "Trigger is not activated by LOAD DATA".
sql/item.cc:
Since it turned out that at trigger loading time we can't say in which
buffer TABLE::record[0] or record[1] old version of row will be stored
we have to change our approach to binding of Item_trigger_field to
Field instances.
Now after trigger parsing (in Item_trigger_field::setup_table()) we only
find index of proper Field in the TABLE::field array. Then before trigger
is invoked we set Table_triggers_list::old_field/new_field so they point
to arrays holding Field instances bound to buffers with proper row
versions. And as last step in Item_trigger_field::fix_fields() we get
pointer to Field from those arrays using saved field index.
Item_trigger_field::setup_field()/fix_fields() were changed to implement
this approach.
sql/item.h:
Since it turned out that at trigger loading time we can't say in which
buffer TABLE::record[0] or record[1] old version of row will be stored
we have to change our approach to binding of Item_trigger_field to
Field instances.
Now after trigger parsing (in Item_trigger_field::setup_table()) we only
find index of proper Field in the TABLE::field array. Then before trigger
is invoked we set Table_triggers_list::old_field/new_field so they point
to arrays holding Field instances bound to buffers with proper row
versions. And as last step in Item_trigger_field::fix_fields() we get
pointer to Field from those arrays using saved field index.
Item_trigger_field:
- Added field_idx member to store index of Field object corresponding to
this Item in TABLE::field array.
- Added triggers member to be able to access to parent Table_trigger_list
object from fix_fields() method.
- setup_field() no longer needs to know for which type of event this
trigger is, since it does not make decision Field for which buffer
(record[0] or record[1] is appropriate for this Item_trigger_field)
sql/mysql_priv.h:
Added fill_record_n_invoke_before_triggers() methods. They are simple
wrappers around fill_record() which invoke proper before trigger right
after filling record with values.
sql/sql_base.cc:
Added fill_record_n_invoke_before_triggers() methods. They are simple
wrappers around fill_record() which invoke proper before trigger right
after filling record with values.
sql/sql_delete.cc:
mysql_delete():
Now we stop statement execution if one of triggers failed, we also
don't execute after delete trigger if we failed to delete row from
the table (We also pass information about which buffer contains old
version of row to process_triggers()).
multi_delete::send_data()/do_deletes():
Now we also invoke triggers in case of multi-delete.
sql/sql_insert.cc:
mysql_insert():
Moved invocation of before triggers to fill_record_n_invoke_before_triggers()
method. After triggers are now executed as part of write_record().
(as nice side effect now we also stop statement execution if one of
triggers fail).
write_record():
Invoke after insert trigger after performing insert. Also invoke proper
triggers if insert is converted to update or conflicting row is deleted.
Cleaned up error handling a bit - no sense to report error via
handler::print_error if it was not generated by handler method and
was reported before.
Also now we will execute after trigger only if we really have written
row to the table.
select_insert::send_data()/store_values():
We should also execute INSERT triggers for INSERT ... SELECT statement.
sql/sql_load.cc:
read_fixed_length()/read_sep_field():
We should execute INSERT triggers when processing LOAD DATA statement.
Small cleanup in auto-increment related code. Also moved check for
thd->killed which is used to abort LOAD DATA in case of problems
in 'traditional' mode to better place..
sql/sql_trigger.cc:
Since it turned out that at trigger loading time we can't say in which
buffer TABLE::record[0] or record[1] old version of row will be stored
we have to change our approach to binding of Item_trigger_field to
Field instances.
Now after trigger parsing (in Item_trigger_field::setup_table()) we only
find index of proper Field in the TABLE::field array. Then before trigger
is invoked we set Table_triggers_list::old_field/new_field so they point
to arrays holding Field instances bound to buffers with proper row
versions. And as last step in Item_trigger_field::fix_fields() we get
pointer to Field from those arrays using saved field index.
Table_triggers_list methods were changed to implement this approach
(see also comments for sql_trigger.h).
sql/sql_trigger.h:
Since it turned out that at trigger loading time we can't say in which
buffer TABLE::record[0] or record[1] old version of row will be stored
we have to change our approach to binding of Item_trigger_field to
Field instances.
Now after trigger parsing (in Item_trigger_field::setup_table()) we only
find index of proper Field in the TABLE::field array. Then before trigger
is invoked we set Table_triggers_list::old_field/new_field so they point
to arrays holding Field instances bound to buffers with proper row
versions. And as last step in Item_trigger_field::fix_fields() we get
pointer to Field from those arrays using saved field index.
Changed Table_triggers_list to implement this new approach:
- Added record1_field member to store array of Field objects bound
to TABLE::record[1] buffer (instead of existing old_field member)
- Added new_field member and changed meaning of old_field member.
During trigger execution they should point to arrays of Field objects
bound to buffers holding new and old versions of row respectively.
- Added 'table' member to be able to get access to TABLE instance
(for which this trigger list object was created) from process_triggers()
method.
- Now process_triggers() method sets old_field and new_field members
properly before executing triggers body (basing on new
old_row_is_record1 parameter value).
- Renamed prepare_old_row_accessors_method() to prepare_record1_accessors()
Also added has_before_update_triggers() method which allows to check
whenever any before update triggers exist for table.
sql/sql_update.cc:
mysql_update():
Now we invoke before triggers in fill_record_n_invoke_before_triggers()
method. Also now we abort statement execution when one of triggers fail.
safe_update_on_fly():
When we are trying to understand if we can update first table in multi
update on the fly we should take into account that BEFORE UPDATE
trigger can change field values.
multi_update::send_data()/do_updates()
We should execute proper triggers when doing multi-update
(in both cases when we do it on the fly and using temporary tables).
writing DROP and CREATE TRIGGER to binlog, disabling binlogging
of substatements, testing.
mysql-test/r/rpl_sp.result:
result update
mysql-test/t/rpl_sp.test:
removing useless lines, plus testing replication of triggers
sql/sql_trigger.cc:
trigger can be used to destroy slave, so only SUPER can create it by default.
If create|drop goes ok, binlog CREATE TRIGGER and DROP TRIGGER.
sql/sql_trigger.h:
disable binlogging of substatements of triggers (even if now triggers
can't do updates)
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.
out of order". (final version)
Now instead of binding Item_trigger_field to TABLE objects during
trigger definition parsing at table open, we perform pass through
special list of all such objects in trigger. This allows easily check
all references to fields in old/new version of row in trigger during
execution of CREATE TRIGGER statement (this is more courtesy for users
since we can't check everything anyway).
We also report that such reference is bad by returning error from
Item_trigger_field::fix_fields() method (instead of setup_field())
This means that if trigger is broken we will bark during trigger
execution instead of trigger definition parsing at table open.
(i.e. now we allow to open tables with broken triggers).
mysql-test/r/trigger.result:
Added test which attempts to create trigger for table referencing to
field which does not exist in this table.
mysql-test/t/trigger.test:
Added test which attempts to create trigger for table referencing to
field which does not exist in this table.
sql/item.cc:
Item_trigger_field::setup_field() now returns void. If any error
will occur we will report it at fix_fields() stage.
sql/item.h:
Item_trigger_field:
- Added next_trg_field member for linking all such objects in trigger
in one list.
- Also setup_field() now returns void. If any error will occur we will
report it at fix_fields() stage.
sql/mysql_priv.h:
Added SQL_LIST::push_back() method which allows to add another SQL_LIST
to the end of this SQL_LIST.
sql/sp_head.cc:
sp_head::init()/reset_lex()/restore_lex():
In order to fill global LEX::trg_table_fields (list of all
Item_trigger_field objects for trigger) we should init the same list
in LEX of substatement before its parsing and merge it to global list
after parsing.
sql/sp_head.h:
sp_instr_trigger_field:
Made trigger_field member public to be able to add it more easily to
global list of all Item_trigger_field objects in trigger.
sql/sql_lex.cc:
LEX::trg_table was removed.
sql/sql_lex.h:
Now we are binding Item_trigger_field's to TABLE object by passing
through specially constructed list of all such objects in this trigger
instead of doing this during trigger definition parsing at table open.
So we no longer need LEX::trg_table, we use LEX::trg_table_fields list
instead.
sql/sql_parse.cc:
mysql_execute_command():
Since now we use trigger body for some checks in
mysql_create_or_drop_trigger() we should destroy it only
after calling this function.
sql/sql_trigger.cc:
Now instead of binding Item_trigger_field to TABLE objects during
trigger definition parsing at table open, we perform pass through
special list of all such objects in trigger. This allows easily check
all references to fields in old/new version of row in trigger during
execution of CREATE TRIGGER statement (this is more courtesy for users
since we can't check everything anyway).
We also report that such reference is bad by returning error from
Item_trigger_field::fix_fields() method (instead of setup_field())
This means that if trigger is broken we will bark during trigger
execution instead of trigger definition parsing at table open.
(i.e. now we allow to open tables with broken triggers).
Table_triggers_list::prepare_old_row_accessors() method was added to be
able to reuse code creating Field objects referencing TABLE::record[1]
buffer instead of TABLE::record[0].
sql/sql_trigger.h:
Added Table_triggers_list::prepare_old_row_accessors() method to be
able to reuse code creating Field objects referencing to TABLE::record[1]
instead of record[0].
sql/sql_yacc.yy:
Now instead of performing binding of Item_trigger_field objects
to TABLE object during trigger definition parsing at table open,
we perform this binding by passing through specially constructed
list of all such items in trigger.
We also check value returned from memory allocation functions.
If we have DELETE with always true WHERE clause we should not use
optimized delete_all_rows() method for tables with DELETE triggers,
because in this case we will lose side-effect of deletion.
mysql-test/r/trigger.result:
Added test for bug #5890 "Triggers fail for DELETE without WHERE".
mysql-test/t/trigger.test:
Added test for bug #5890 "Triggers fail for DELETE without WHERE".
sql/sql_delete.cc:
mysql_delete():
We should not use optimized delete_all_rows() method for tables
with DELETE triggers, because in this case we will lose side-effect
of deletion.
sql/sql_trigger.h:
Added new Table_triggers_list::has_delete_triggers() method which
allows to understand quickly if we have some DELETE triggers in
our list.
Mostly needed for Monty for him getting notion what needed for triggers
from new .FRM format.
Things to be done:
- Right placement of trigger's invocations
- Right handling of errors in triggers (including transaction rollback)
- Support for priviliges
- Right handling of DROP/RENAME table (hope that it will be handled automatically
with merging of .TRG into .FRM file)
- Saving/restoring some information critical for trigger creation and replication
with their definitions (e.g. sql_mode, creator, ...)
- Replication
Already has some known bugs so probably not for general review.
include/mysqld_error.h:
Added trigger related error codes.
sql/Makefile.am:
Added sql_trigger.* files to list of sources from which mysqld is built.
sql/item.cc:
Added Item_trigger_field class representing field of new/old version of row which is
inserted/updated/deleted and for which trigger is invoked.
sql/item.h:
Added enums for describing trigger properties. (Here because of dependencies).
Added Item_trigger_field class representing field of new/old version of row which is
inserted/updated/deleted and for which trigger is invoked.
sql/item_func.cc:
Added Item_func_set_user_var::print_as_stmt() for printing of assignment to ser variable
from stored procedures.
Added comment clarifying why we don't need set no_send_ok when calling stored functions.
sql/item_func.h:
Added Item_func_set_user_var::print_as_stmt() for printing of assignment to ser variable
from stored procedures.
sql/lex.h:
Symbols used in statements defining triggers were added.
sql/mysql_priv.h:
Exported some functions needed for triggers implementation.
sql/parse_file.cc:
Cleaned up FILE_OPTIONS_STRLIST handling (needed for triggers).
sql/parse_file.h:
Cleaned up FILE_OPTIONS_STRLIST handling (needed for triggers).
sql/share/czech/errmsg.txt:
Added trigger related error messages.
sql/share/danish/errmsg.txt:
Added trigger related error messages.
sql/share/dutch/errmsg.txt:
Added trigger related error messages.
sql/share/english/errmsg.txt:
Added trigger related error messages.
sql/share/estonian/errmsg.txt:
Added trigger related error messages.
sql/share/french/errmsg.txt:
Added trigger related error messages.
sql/share/german/errmsg.txt:
Added trigger related error messages.
sql/share/greek/errmsg.txt:
Added trigger related error messages.
sql/share/hungarian/errmsg.txt:
Added trigger related error messages.
sql/share/italian/errmsg.txt:
Added trigger related error messages.
sql/share/japanese/errmsg.txt:
Added trigger related error messages.
sql/share/korean/errmsg.txt:
Added trigger related error messages.
sql/share/norwegian-ny/errmsg.txt:
Added trigger related error messages.
sql/share/norwegian/errmsg.txt:
Added trigger related error messages.
sql/share/polish/errmsg.txt:
Added trigger related error messages.
sql/share/portuguese/errmsg.txt:
Added trigger related error messages.
sql/share/romanian/errmsg.txt:
Added trigger related error messages.
sql/share/russian/errmsg.txt:
Added trigger related error messages.
sql/share/serbian/errmsg.txt:
Added trigger related error messages.
sql/share/slovak/errmsg.txt:
Added trigger related error messages.
sql/share/spanish/errmsg.txt:
Added trigger related error messages.
sql/share/swedish/errmsg.txt:
Added trigger related error messages.
sql/share/ukrainian/errmsg.txt:
Added trigger related error messages.
sql/sp_head.cc:
sp_head::init_strings(): added support for triggers
(we don't have most of strings for them)
sp_head::execute_function(): triggers don't require RETURN
sp_head::reset_lex(): added propagation of trigger properties to LEX used for
parsing of statements composing trigger body.
Added two more SP instructions:
- sp_instr_set_user_var for setting user variables in stored functions and triggers
(we can't use sp_instr_stmt and "SET @a:=..." statement since it will close open
tables and thus break execution of calling statement.
- sp_instr_set_trigger_field for assignment to fields of row being updated/inserted in
triggers
sql/sp_head.h:
Added new type of sp_head object - TYPE_ENUM_TRIGGER
Added two more SP instructions:
- sp_instr_set_user_var for setting user variables in stored functions and triggers
(we can't use sp_instr_stmt and "SET @a:=..." statement since it will close open
tables and thus break execution of calling statement.
- sp_instr_set_trigger_field for assignment to fields of row being updated/inserted in
triggers
sql/sql_base.cc:
Now freeing memory occupied by trigger related structures when closing tables.
open_unireg_entry(): added loading of triggers for table.
find_field_in_real_table() is now public since it required by Item_trigger_field in item.cc
sql/sql_delete.cc:
Added triggers invocation for DELETE (should be fixed for sure :))
sql/sql_insert.cc:
Added triggers invocation for INSERT (should be fixed for sure :))
sql/sql_lex.cc:
Added trg_new_row_fake_var variable pointer to which is used for distinguishing between
assignment to NEW row field (when parsing trigger definition) and structured variable.
Added initialization of LEX->trg_table to lex_start(). (When triggers are parsed during
opening of table it points to table object.)
sql/sql_lex.h:
Added trigger related commands.
Added st_trg_chistics structure describing properties of trigger being created
(as struct and as LEX member).
Added trg_new_row_fake_var variable pointer to which is used for
distinguishing between assignment to NEW row field (when parsing trigger definition)
and structured variable.
Added LEX::trg_table which points to table being opened when we are parsing trigger
definition while opening table.
sql/sql_parse.cc:
Added support for CREATE/DROP TRIGGER commands.
sql/sql_table.cc:
Cleanup. close_cached_table() always returns 0 and its result is not analyzed in most
places so chenged its return type to void.
sql/sql_update.cc:
Added triggers invocation for UPDATE (should be fixed for sure :))
sql/sql_yacc.yy:
Added support for CREATE/DROP TRIGGER statements.
Added support for OLD/NEW row identifiers in trigger.
Made assignment to user variables not to break execution of stored function or trigger.
sql/table.h:
Added TABLE::triggers member representing triggers for this table.