- 08 Mar, 2007 20 commits
-
-
unknown authored
sql/event_data_objects.cc: Passing time as time_t to function my_time_t requires cast to my_time_t since my_time_t are only required to be 32bits. sql/log.cc: Using time_t instead of my_time_t when calculating current_time. This is a potential bugfix for problem with mysql_system_db reporting slow log as crashed. sql/sql_show.cc: Passing time as time_t to function my_time_t requires cast to my_time_t since my_time_t are only required to be 32bits.
-
unknown authored
into pilot.blaudden:/home/msvensson/mysql/mysql-5.1-maint sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51 extra/comp_err.c: Auto merged
-
unknown authored
comp_err.c: return ha_checksum from checksum_format_specifier() - more correct, avoid a compiler warning extra/comp_err.c: return ha_checksum from checksum_format_specifier() - more correct, avoid a compiler warning
-
unknown authored
-
unknown authored
into mysql.com:/data0/mysqldev/users/tomas/mysql-5.1-new-maint storage/ndb/src/common/debugger/EventLogger.cpp: Auto merged storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp: Auto merged storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: Auto merged storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: Auto merged
-
unknown authored
into mysql.com:/data0/mysqldev/users/tomas/mysql-5.1-new-maint client/sql_string.h: Auto merged storage/myisam/mi_open.c: Auto merged storage/ndb/src/common/debugger/EventLogger.cpp: Auto merged storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: Auto merged storage/ndb/test/ndbapi/testNodeRestart.cpp: Auto merged
-
unknown authored
into mysql.com:/data0/mysqldev/users/tomas/mysql-5.0-maint
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mar07/stage2/51 scripts/make_binary_distribution.sh: Auto merged
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mar07/stage2/51 scripts/make_binary_distribution.sh: Auto merged
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mar07/stage2/51
-
unknown authored
into poseidon.mysql.com:/home/tomas/mysql-5.1-new-ndb sql/ha_ndbcluster.cc: Auto merged
-
unknown authored
into poseidon.mysql.com:/home/tomas/mysql-5.0-ndb
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mar07/stage2/50
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mar07/stage1/51
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mar07/stage1/51 sql/mysqld.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_parse.cc: Auto merged
-
unknown authored
sql_servers.cc:insert_server_record(): initialize record[0] before inserting row sql/sql_servers.cc: sql_servers.cc:insert_server_record(): initialize record[0] before inserting row
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mar07/stage2/50
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mar07/stage2/41
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mar07/stage2/50 scripts/make_binary_distribution.sh: Auto merged
-
- 07 Mar, 2007 20 commits
-
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mar07/stage2/41
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/51 mysql-test/r/trigger.result: Auto merged mysql-test/r/view.result: Auto merged mysql-test/t/trigger.test: Auto merged sql/mysqld.cc: Auto merged sql/sp_head.cc: Auto merged sql/sp_head.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_trigger.cc: Auto merged sql/sql_update.cc: Auto merged sql/table.cc: Auto merged sql/table.h: Auto merged
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/51 BitKeeper/deleted/.del-bdb_gis.result: Use local
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/50 sql/mysqld.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_parse.cc: Auto merged
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/40
-
unknown authored
-
unknown authored
into mysql.com:/home/kent/bk/tmp/mysql-5.1-build
-
unknown authored
into mysql.com:/home/kent/bk/tmp/mysql-5.1-build
-
unknown authored
into mysql.com:/home/kent/bk/tmp/mysql-5.0-build
-
unknown authored
into mysql.com:/home/kent/bk/tmp/mysql-5.0-build
-
unknown authored
into mysql.com:/home/kent/bk/tmp/mysql-4.1-build
-
unknown authored
into recycle.(none):/src/bug25222/my51-bug25222 mysys/my_open.c: Auto merged
-
unknown authored
- When attempting to associate a Windows File handle to a C run-time file handle there is an upper bound. Once reached, the newly created handles will cause a memory leak since they are not properly associated with a handle that can later be cleaned up. mysys/my_open.c: Bug#25222 Win32 HANDLE leak in my_sopen() - Check for failure in _open_osfhandle and close allocated HANDLE on failure.
-
unknown authored
-
unknown authored
into bodhi.local:/opt/local/work/mysql-5.1-runtime sql/sql_lex.cc: Auto merged
-
unknown authored
sql/sql_lex.cc: A fix for the windows build.
-
unknown authored
into bodhi.local:/opt/local/work/mysql-5.1-runtime mysql-test/r/trigger.result: Auto merged mysql-test/r/view.result: Auto merged mysql-test/t/trigger.test: Auto merged sql/log_event.cc: Auto merged sql/mysqld.cc: Auto merged sql/sp_head.cc: Auto merged sql/sp_head.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_trigger.cc: Auto merged sql/sql_update.cc: Auto merged sql/table.cc: Auto merged sql/table.h: Auto merged sql/sql_class.cc: Manual merge. sql/sql_class.h: Manual merge. sql/sql_parse.cc: Manual merge. sql/sql_prepare.cc: Manual merge. sql/sql_yacc.yy: Manual merge.
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/51 BitKeeper/etc/ignore: auto-union client/mysql_upgrade.c: Auto merged client/mysqltest.c: Auto merged extra/comp_err.c: Auto merged include/my_time.h: Auto merged libmysql/libmysql.c: Auto merged mysql-test/extra/binlog_tests/ctype_cp932.test: Auto merged mysql-test/lib/mtr_misc.pl: Auto merged mysql-test/r/binlog_stm_ctype_cp932.result: Auto merged mysql-test/r/func_time.result: Auto merged mysql-test/r/innodb.result: Auto merged mysql-test/r/mysqlbinlog.result: Auto merged mysql-test/r/mysqltest.result: Auto merged mysql-test/r/sp.result: Auto merged mysql-test/r/trigger.result: Auto merged mysql-test/r/type_blob.result: Auto merged mysql-test/r/view.result: Auto merged mysql-test/t/func_time.test: Auto merged mysql-test/t/mysql.test: Auto merged mysql-test/t/mysqltest.test: Auto merged mysql-test/t/sp.test: Auto merged mysql-test/t/trigger.test: Auto merged sql/field.cc: Auto merged sql/item.cc: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/item_geofunc.cc: Auto merged sql/item_strfunc.cc: Auto merged sql/log.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged sql/sp_head.cc: Auto merged sql/sp_head.h: Auto merged sql/spatial.cc: Auto merged sql/spatial.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_load.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_update.cc: Auto merged sql/table.cc: Auto merged sql/table.h: Auto merged sql-common/my_time.c: Auto merged sql/tztime.cc: Auto merged mysql-test/mysql-test-run.pl: Use local mysql-test/t/mysqlbinlog.test: Use local
-
unknown authored
into bodhi.local:/opt/local/work/mysql-5.0-26750 sql/mysqld.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_class.h: Manual merge.
-
unknown authored
fixes). The legend: on a replication slave, in case a trigger creation was filtered out because of application of replicate-do-table/ replicate-ignore-table rule, the parsed definition of a trigger was not cleaned up properly. LEX::sphead member was left around and leaked memory. Until the actual implementation of support of replicate-ignore-table rules for triggers by the patch for Bug 24478 it was never the case that "case SQLCOM_CREATE_TRIGGER" was not executed once a trigger was parsed, so the deletion of lex->sphead there worked and the memory did not leak. The fix: The real cause of the bug is that there is no 1 or 2 places where we can clean up the main LEX after parse. And the reason we can not have just one or two places where we clean up the LEX is asymmetric behaviour of MYSQLparse in case of success or error. One of the root causes of this behaviour is the code in Item::Item() constructor. There, a newly created item adds itself to THD::free_list - a single-linked list of Items used in a statement. Yuck. This code is unaware that we may have more than one statement active at a time, and always assumes that the free_list of the current statement is located in THD::free_list. One day we need to be able to explicitly allocate an item in a given Query_arena. Thus, when parsing a definition of a stored procedure, like CREATE PROCEDURE p1() BEGIN SELECT a FROM t1; SELECT b FROM t1; END; we actually need to reset THD::mem_root, THD::free_list and THD::lex to parse the nested procedure statement (SELECT *). The actual reset and restore is implemented in semantic actions attached to sp_proc_stmt grammar rule. The problem is that in case of a parsing error inside a nested statement Bison generated parser would abort immediately, without executing the restore part of the semantic action. This would leave THD in an in-the-middle-of-parsing state. This is why we couldn't have had a single place where we clean up the LEX after MYSQLparse - in case of an error we needed to do a clean up immediately, in case of success a clean up could have been delayed. This left the door open for a memory leak. One of the following possibilities were considered when working on a fix: - patch the replication logic to do the clean up. Rejected as breaks module borders, replication code should not need to know the gory details of clean up procedure after CREATE TRIGGER. - wrap MYSQLparse with a function that would do a clean up. Rejected as ideally we should fix the problem when it happens, not adjust for it outside of the problematic code. - make sure MYSQLparse cleans up after itself by invoking the clean up functionality in the appropriate places before return. Implemented in this patch. - use %destructor rule for sp_proc_stmt to restore THD - cleaner than the prevoius approach, but rejected because needs a careful analysis of the side effects, and this patch is for 5.0, and long term we need to use the next alternative anyway - make sure that sp_proc_stmt doesn't juggle with THD - this is a large work that will affect many modules. Cleanup: move main_lex and main_mem_root from Statement to its only two descendants Prepared_statement and THD. This ensures that when a Statement instance was created for purposes of statement backup, we do not involve LEX constructor/destructor, which is fairly expensive. In order to track that the transformation produces equivalent functionality please check the respective constructors and destructors of Statement, Prepared_statement and THD - these members were used only there. This cleanup is unrelated to the patch. sql/log_event.cc: THD::main_lex is private and should not be used. sql/mysqld.cc: Move MYSQLerror to sql_yacc.yy as it depends on LEX headers now. sql/sql_class.cc: Cleanup: move main_lex and main_mem_root to THD and Prepared_statement sql/sql_class.h: Cleanup: move main_lex and main_mem_root to THD and Prepared_statement sql/sql_lex.cc: Implement st_lex::restore_lex() sql/sql_lex.h: Declare st_lex::restore_lex(). sql/sql_parse.cc: Consolidate the calls to unit.cleanup() and deletion of lex->sphead in mysql_parse (COM_QUERY handler) sql/sql_prepare.cc: No need to delete lex->sphead to restore memory roots now in case of a parse error - this is done automatically inside MYSQLparse sql/sql_trigger.cc: This code could lead to double deletion apparently, as in case of an error lex.sphead was never reset. sql/sql_yacc.yy: Trap all returns from the parser to ensure that MySQL-specific cleanup is invoked: we need to restore the global state of THD and LEX in case of a parsing error. In case of a parsing success this happens as part of normal grammar reduction process.
-