- 30 Jan, 2007 3 commits
-
-
unknown authored
-
unknown authored
into weblab.(none):/home/marcsql/TREE/mysql-5.1-21904-merge sql/item_subselect.cc: Auto merged sql/item_subselect.h: Auto merged sql/sql_yacc.yy: Auto merged
-
unknown authored
Before this fix, a IN predicate of the form: "IN (( subselect ))", with two parenthesis, would be evaluated as a single row subselect: if the subselect returns more that 1 row, the statement would fail. The SQL:2003 standard defines a special exception in the specification, and mandates that this particular form of IN predicate shall be equivalent to "IN ( subselect )", which involves a table subquery and works with more than 1 row. This fix implements "IN (( subselect ))", "IN ((( subselect )))" etc as per the SQL:2003 requirement. All the details related to the implementation of this change have been commented in the code, and the relevant sections of the SQL:2003 spec are given for reference, so they are not repeated here. Having access to the spec is a requirement to review in depth this patch. mysql-test/r/subselect.result: Implement IN predicate special exceptions with subselects. mysql-test/t/subselect.test: Implement IN predicate special exceptions with subselects. sql/item_subselect.cc: Implement IN predicate special exceptions with subselects. sql/item_subselect.h: Implement IN predicate special exceptions with subselects. sql/sql_yacc.yy: Implement IN predicate special exceptions with subselects, cleanup.
-
- 29 Jan, 2007 3 commits
-
-
unknown authored
into weblab.(none):/home/marcsql/TREE/mysql-5.1-24392
-
unknown authored
This patch implements the idea of the bug report by making Event_queue unaware of Event_db_repository by making a higher level class - Events, which is aware of most of all classes, responsible for passing all data needed for adding/updating/deleting an event to/from the queue. Introduces few new classes : - Event_worker_thread - Event_queue_element_for_exec sql/event_data_objects.cc: Introduced a new class Event_queue_element_for_exec According to Konstantin it should be named Event_name and hold only two LEX_STRINGs but `dropped` is not saved on disk and will require additional logic in Event_worker_thread class, after loading to compute whether the event should be dropped or not. It's easier just to pass this flag around. Removed Event_queue_element::drop(). This method was a source of a race condition. At the place where the event should be dropped we call Events::drop_event() which is the only code-flow for dropping. In addition, because ::drop_event() holds Events::LOCK_metadata there is no source of race conditions. Before this patch dropping from ::drop() wasn't under LOCK_metadata and races were possible. Because Events::open_event_table was removed as a method, provisionally events_event_db_repository was exported from events.cc till a solution is build where Event_queue_element does not access directly mysql.event. sql/event_data_objects.h: New class Event_queue_element_for_exec added which is returned from Event_queue::get_top_if_time() and passed through Event_scheduler to Event_worker_thread. There by using the (db)name Event_job_data is instanciated and executed. Dropped Event_queue_element::drop() thd was moved out of Event_job_data as it is now part of Event_queue_element_for_exec sql/event_queue.cc: Removed dependency of Event_queue on Event_db_repository. The instantiation of Event_job_data was moved to class Event_worker_thread In place is a return of an object of Event_queue_element_for_exec is used later for instantiating Event_job_data. The `dropped` flag of Event_queue_element is passed over Event_queue_element_for_exec to the code in Event_worker_thread. sql/event_queue.h: Removed dependency of Event_queue on Event_db_repository Removed dependency on Event_scheduler sql/event_scheduler.cc: Added class Event_worker_thread, which is used during the execution of an event. It has a static init() method to get a pointer to Event_db_repository to be used for instantiation of Event_job_data object. This object it then executed. sql/event_scheduler.h: Added class Event_worker_thread, which is used during the execution of an event. sql/events.cc: Removed Events::open_event_table() because it was a product of a bad architecture. sql/events.h: Removed friend definition, unneeded. Fixed Events::drop_event() to have the previous signature without bool only_from_disk sql/sql_parse.cc: Fix call
-
unknown authored
into weblab.(none):/home/marcsql/TREE/mysql-5.1-24392 mysql-test/t/show_check.test: Auto merged sql/sql_yacc.yy: Auto merged
-
- 25 Jan, 2007 14 commits
-
-
unknown authored
into moonlight.home:/home/tomash/src/mysql_ab/mysql-5.1-bug23527
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-5.1-merge
-
unknown authored
-
unknown authored
into moonlight.home:/home/tomash/src/mysql_ab/mysql-5.1-bug23527 sql/sql_cache.cc: Auto merged
-
unknown authored
high load MySQL server could crash if two or more threads would initiate query cache resize at the moments very close in time. The problem was introduced with the fix of bug 21051 in 5.0 and 5.1: simultaneous query cache resizes would wait for the first one in progress, but then each thread would try to finish the operation, accessing the data that was already reset (attempt to dereference 'bins' pointer, which may be NULL already). The solution is to check after synchronization if another thread has done the reset already (test 'query_cache_size > 0' again). No test case is provided because the bug is a subject to a race. sql/sql_cache.cc: We release 'structure_guard_mutex' in flush_cache(), so after the call we check if another thread had reset the cache before us.
-
unknown authored
Don't use -Wshadow by default yet BUILD/SETUP.sh: Don't use -Wshadow by default yet
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-5.1-merge mysql-test/t/sp-error.test: Auto merged sql/sql_table.cc: Auto merged
-
unknown authored
into bk-internal.mysql.com:/data0/bk/mysql-5.1-marvel
-
unknown authored
into bk-internal.mysql.com:/data0/bk/mysql-5.1-marvel mysql-test/t/myisam.test: Auto merged mysql-test/t/ndb_basic.test: Auto merged
-
unknown authored
into poseidon.mysql.com:/home/tomas/mysql-5.1-new-ndb
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-5.1-merge
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-5.1-merge sql/mysqld.cc: Auto merged sql/sql_class.cc: Auto merged
-
unknown authored
into poseidon.mysql.com:/home/tomas/mysql-5.1-new-ndb
-
unknown authored
- added extra cluster connect inicator bit for better handeling of delacation of event operations on cluster disconnect - added extra assert to try to track down valgrind issue
-
- 24 Jan, 2007 20 commits
-
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines mysql-test/r/symlink.result: Auto merged mysql-test/t/symlink.test: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/mysqld.cc: Auto merged sql/sql_class.cc: Auto merged sql/table.cc: Auto merged mysql-test/r/myisam.result: Use local. mysql-test/t/myisam.test: Use local.
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines mysql-test/r/symlink.result: Auto merged mysql-test/t/symlink.test: Auto merged sql/lock.cc: Auto merged sql/opt_range.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_insert.cc: Auto merged sql/sql_parse.cc: Auto merged sql/table.cc: Auto merged storage/federated/ha_federated.cc: Auto merged storage/myisam/mi_check.c: Auto merged storage/myisam/mi_packrec.c: Auto merged mysql-test/r/myisam.result: Manually merged. mysql-test/t/myisam.test: Manually merged.
-
unknown authored
into weblab.(none):/home/marcsql/TREE/mysql-5.1-21029 Makefile.am: Auto merged sql/Makefile.am: Auto merged sql/sql_yacc.yy: Auto merged
-
unknown authored
The build scripts in general, using automake, autoconf, etc, contain several special commands and work around all related to the way the bison code in the parser is built, for sql/sql_yacc.yy. These work arounds, accumulated over time during development, ultimately cause the build scripts to be unstable and cause build defects by not enforcing dependencies. This fix simplifies the build process and aligns it with the automake tooling, which provides native support for bison and *.yy files. In particular, the following problem have been fixed: - dependencies with sql_yacc.cc were not honored (Bug 21029), leading to corrupted builds, - the work around introduced by Bug 24557, to cleanup the generated files sql_yacc.h and sql_yacc.cc, has been removed, - the generated makefile, in a source distribution, used to destroy the files sql_yacc.h and sql_yacc.cc on a 'make clean' target. This has been fixed: these files are now removed by make maintainer-clean. - The root cause of the problem found with gcc 4.1 (see Bug 24619) has been clearly documented, and the "sed" hack has been replaced by a cleaner work around, when building the code with bison 1.875. - Removed the file sql/sql_yacc.yy.bak, added by WL 3031 by accident. - Removed the unnecessary AM_YFLAG= --debug introduced by WL 3432, since the compiling option DBUG_OFF takes precedence when setting YYDEBUG. BitKeeper/deleted/.del-sql_yacc.yy.bak: Rename: sql/sql_yacc.yy.bak -> BitKeeper/deleted/.del-sql_yacc.yy.bak Makefile.am: General cleanup of the build process for sql_yacc.yy sql/Makefile.am: General cleanup of the build process for sql_yacc.yy sql/sql_yacc.yy: General cleanup of the build process for sql_yacc.yy
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines mysql-test/t/myisam.test: Auto merged
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines mysql-test/r/symlink.result: Auto merged mysql-test/t/symlink.test: Auto merged sql/table.cc: Auto merged mysql-test/r/myisam.result: Manually merged. mysql-test/t/myisam.test: Manually merged.
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-5.1-merge mysql-test/t/ps.test: Auto merged sql/mysqld.cc: Auto merged sql/sql_class.cc: Auto merged mysql-test/t/disabled.def: Manual merge.
-
unknown authored
the team tree for additional investigation.
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-5.0-merge mysql-test/t/disabled.def: Auto merged mysql-test/t/ps.test: Auto merged
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-5.1-merge mysql-test/t/disabled.def: Auto merged mysql-test/t/ps.test: Auto merged sql/sql_view.cc: Auto merged
-
unknown authored
into chilla.local:/home/mydev/mysql-5.0-bug24607 mysql-test/r/myisam.result: Auto merged mysql-test/t/myisam.test: Auto merged
-
unknown authored
into chilla.local:/home/mydev/mysql-5.1-bug24607 mysql-test/r/myisam.result: Auto merged mysql-test/t/myisam.test: Auto merged
-
unknown authored
-
unknown authored
into chilla.local:/home/mydev/mysql-5.1-bug24607 mysql-test/t/myisam.test: Auto merged mysql-test/r/myisam.result: Manual merged
-
unknown authored
After merge fix
-
unknown authored
into chilla.local:/home/mydev/mysql-5.0-bug24607 mysql-test/r/myisam.result: Manual merged mysql-test/t/myisam.test: Manual merged
-
unknown authored
Fixed test. On 32-bit machines which compile without -DBIG_TABLES, MAX_ROWS is truncated to a 32-bit value. Using a value below 4G is portable. mysql-test/r/myisam.result: Bug#24607 - MyISAM pointer size determined incorrectly Fixed test results.
-
unknown authored
into kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build-work sql/ha_ndbcluster.cc: Auto merged
-
unknown authored
into kahlann.erinye.com:/home/df/mysql/build/mysql-5.1-build-work
-
unknown authored
into mysql.com:/home/svoj/devel/mysql/BUG24401/mysql-5.1-engines mysql-test/r/myisam.result: Auto merged mysql-test/t/myisam.test: Auto merged
-