- 19 Jul, 2007 4 commits
-
-
unknown authored
into mysql.com:/home/hf/work/29687/my50-29687
-
unknown authored
into mysql.com:/home/hf/work/29687/my50-29687
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.0-opt sql/ha_myisam.cc: Auto merged sql/sql_select.cc: Auto merged
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.0-opt
-
- 18 Jul, 2007 3 commits
-
-
unknown authored
For each view the mysqldump utility creates a temporary table with the same name and the same columns as the view in order to satisfy views that depend on this view. After the creation of all tables, mysqldump drops all temporary tables and creates actual views. However, --skip-add-drop-table and --compact flags disable DROP TABLE statements for those temporary tables. Thus, it was impossible to create the views because of existence of the temporary tables with the same names. client/mysqldump.c: Fixed bug #28524. The mysqldump utility has been modified to unconditionally drop temporary tables before the creation of views. mysql-test/t/mysqldump.test: Updated test case for bug #28524 and updated result of previous tests. mysql-test/r/mysqldump.result: Updated test case for bug #28524 and updated result of previous tests.
-
unknown authored
table (datadir) Set errno when retunring an error in my_create_with_symlink. mysys/my_symlink2.c: Bug #29325: set errno when retunring an error in my_create_with_symlink
-
unknown authored
-
- 17 Jul, 2007 5 commits
-
-
unknown authored
-
unknown authored
-
unknown authored
into mysql.com:/home/psergey/mysql-5.0-bug29740
-
unknown authored
'/' and '\' in path delimiters: - Fix this by creating new handler with exactly the same path line as was passed to ha_create/ha_open. sql/opt_range.cc: Set thd->net.report_error on handler::clone() failure
-
unknown authored
into bodhi.(none):/opt/local/work/mysql-5.0-runtime
-
- 16 Jul, 2007 5 commits
-
-
unknown authored
into bodhi.(none):/opt/local/work/mysql-5.0-runtime mysql-test/t/sp.test: Auto merged sql/item.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_yacc.yy: Auto merged mysql-test/r/innodb_mysql.result: Manual merge. mysql-test/t/innodb_mysql.test: Manual merge.
-
unknown authored
selected prior: ensure the fix also works for information_schema tables. sql/sql_parse.cc: Ensure the fix for Bug#29050 works for information_schema tables.
-
unknown authored
into chilla.local:/home/mydev/mysql-5.0-axmrg
-
unknown authored
In embedded server we use result->alloc to store field data for the result, but we didn't clean the result->alloc if the query returned an empty recordset. Cleaning for the empty recordset enabled libmysql/libmysql.c: Bug #29687 mysql_stmt_store_result memory leak in libmysqld we should clean result->alloc even if we have nothin in 'data' field
-
unknown authored
-
- 15 Jul, 2007 5 commits
-
-
unknown authored
A typo fixed. sql/item_cmpfunc.cc: A typo fixed.
-
unknown authored
Fixed compiler warning. sql/item_cmpfunc.cc: Fixed compiler warning.
-
unknown authored
A comment changed. sql/item_cmpfunc.cc: A comment changed.
-
unknown authored
The get_time_value function is added. It is used to obtain TIME values both from items the can return time as an integer and from items that can return time only as a string. The Arg_comparator::compare_datetime function now uses pointer to a getter function to obtain values to compare. Now this function is also used for comparison of TIME values. The get_value_func variable is added to the Arg_comparator class. It points to a getter function for the DATE/DATETIME/TIME comparator. mysql-test/t/type_time.test: Extended test case for the bug#29555. mysql-test/r/type_time.result: Extended test case for the bug#29555. sql/item_cmpfunc.cc: Extended fix for the bug#29555. The get_time_value function is added. It is used to obtain TIME values both from items the can return time as an integer and from items that can return time only as a string. The Arg_comparator::compare_datetime function now uses pointer to a getter function to obtain values to compare. Now this function is also used for comparison of TIME values. sql/item_cmpfunc.h: Extended fix for the bug#29555. The get_value_func variable is added to the Arg_comparator class. It points to a getter function for the DATE/DATETIME/TIME comparator.
-
unknown authored
Linux Debug build (possible deadlock)" The bug is not repeatable any more. mysql-test/r/innodb_mysql.result: Update test results (Bug#27296) mysql-test/t/innodb_mysql.test: Add a teste case for Bug#27296 "Assertion in ALTER TABLE SET DEFAULT in Linux Debug build (possible deadlock)"
-
- 14 Jul, 2007 9 commits
-
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/29729-bug-5.0-opt-mysql
-
unknown authored
The Field_newdate::store when storing a DATETIME value was returning the 'value was cut' error even if the thd->count_cuted_fields flag is set to CHECK_FIELD_IGNORE. This made range optimizr think that there is no appropriate data in the table and thus to return an empty set. Now the Field_newdate::store function returns conversion error only if the thd->count_cuted_fields flag isn't set to CHECK_FIELD_IGNORE. mysql-test/t/type_time.test: Added a test case for the bug#29729: Wrong conversion error led to an empty result set. mysql-test/r/type_time.result: Added a test case for the bug#29729: Wrong conversion error led to an empty result set. sql/field.cc: Bug#29729: Wrong conversion error led to an empty result set.
-
unknown authored
-
unknown authored
into mysql.com:/home/psergey/mysql-5.0-bug29740
-
unknown authored
into chilla.local:/home/mydev/mysql-5.0-axmrg
-
unknown authored
into chilla.local:/home/mydev/mysql-5.0-axmrg
-
unknown authored
into chilla.local:/home/mydev/mysql-4.1-axmrg
-
unknown authored
pseudo_thread_id was reset to zero via mysql_change_user() handling whereas there is no reason to do that. Moreover, having two concurrent threads that change user and create a namesake temp tables leads to recording the dup pair of queries: set @@session.pseudo_thread_id = 0; CREATE temporary table `the namesake`; which will stall the slave as the second instance can not be created. And that is the bug case. Fixed by correcting pseudo_thread_id value after mysql_change_user(). sql/sql_class.cc: Fixed that pseudo_thread_id was set to 0 after mysql_change_user().
-
unknown authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-merge
-
- 13 Jul, 2007 4 commits
-
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.0-opt
-
unknown authored
- return HA_KEY_SCAN_NOT_ROR flag for HASH indexes; - Fix ha_heap::cmp_ref() to work with BTREE index scans. mysql-test/r/index_merge.result: BUG#29740: testcase mysql-test/t/index_merge.test: BUG#29740: testcase sql/ha_heap.h: BUG#29740: Wrong query results for index_merge/union over HEAP table. - make HEAP table engine return HA_KEY_SCAN_NOT_ROR flag for HASH indexes,as HASH index does not guarantee any ordering for rows within the hash bucket. - Fix BTREE indexes: make ha_heap::cmp_ref() compare the rowids in the same way as ha_key_cmp() does. sql/opt_range.cc: BUG#29740: Fix comment about ROR scans.
-
unknown authored
-
unknown authored
-
- 12 Jul, 2007 5 commits
-
-
unknown authored
into bodhi.(none):/opt/local/work/mysql-5.0-runtime sql/sql_prepare.cc: Auto merged
-
unknown authored
incomplete in 5.0 (and review fixes). When in 5.0.13 I introduced class Prepared_statement and methods ::prepare and ::execute, general logging was left out of this class. This was good for stored procedures, since in stored procedures we do not log sub-statements, but introduced a regression in case of SQL syntax for prepared statements, as previously we would log the actual statements to the log, and after the change we would log only COM_QUERY text. Restore the old behavior, but still suppress logging if inside a stored procedure. Based on a community contributed patch from Vladimir Shebordaev. No test case since we do not have a mechanism to test output of the general log. sql/sql_prepare.cc: Apply community contributed fix for Bug#13326 SQLPS statement logging is incomplete in 5.0 (and review fixes).
-
unknown authored
Time values were compared by the BETWEEN function as strings. This led to a wrong result in cases when some of arguments are less than 100 hours and other are greater. Now if all 3 arguments of the BETWEEN function are of the TIME type then they are compared as integers. mysql-test/t/type_time.test: Added a tes tcase for the bug#29739: Incorrect time comparison in BETWEEN. mysql-test/r/type_time.result: Added a tes tcase for the bug#29739: Incorrect time comparison in BETWEEN. sql/item_cmpfunc.cc: Bug#29739: Incorrect time comparison in BETWEEN. Now if all 3 arguments of the BETWEEN function are of the TIME type then they are compared as integers.
-
unknown authored
into bodhi.(none):/opt/local/work/mysql-5.0-26141-final sql/sql_yacc.yy: Auto merged
-
unknown authored
causes full table lock on innodb table. Also fixes Bug#28502 Triggers that update another innodb table will block on X lock unnecessarily (duplciate). Code review fixes. Both bugs' synopses are misleading: InnoDB table is not X locked. The statements, however, cannot proceed concurrently, but this happens due to lock conflicts for tables used in triggers, not for the InnoDB table. If a user had an InnoDB table, and two triggers, AFTER UPDATE and AFTER INSERT, competing for different resources (e.g. two distinct MyISAM tables), then these two triggers would not be able to execute concurrently. Moreover, INSERTS/UPDATES of the InnoDB table would not be able to run concurrently. The problem had other side-effects (see respective bug reports). This behavior was a consequence of a shortcoming of the pre-locking algorithm, which would not distinguish between different DML operations (e.g. INSERT and DELETE) and pre-lock all the tables that are used by any trigger defined on the subject table. The idea of the fix is to extend the pre-locking algorithm to keep track, for each table, what DML operation it is used for and not load triggers that are known to never be fired. mysql-test/r/trigger-trans.result: Update results (Bug#26141) mysql-test/r/trigger.result: Update results (Bug#28502) mysql-test/t/trigger-trans.test: Add a test case for Bug#26141 mixing table types in trigger causes full table lock on innodb table. mysql-test/t/trigger.test: Add a test case for Bug#28502 Triggers that update another innodb table will block echo on X lock unnecessarily. Add more test coverage for triggers. sql/item.h: enum trg_event_type is needed in table.h sql/sp.cc: Take into account table_list->trg_event_map when determining what tables to pre-lock. After this change, if we attempt to fire a trigger for which we had not pre-locked any tables, error 'Table was not locked with LOCK TABLES' will be printed. This, however, should never happen, provided the pre-locking algorithm has no programming bugs. Previously a trigger key in the sroutines hash was based on the name of the table the trigger belongs to. This was possible because we would always add to the pre-locking list all the triggers defined for a table when handling this table. Now the key is based on the name of the trigger, owing to the fact that a trigger name must be unique in the database it belongs to. sql/sp_head.cc: Generate sroutines hash key in init_spname(). This is a convenient place since there we have all the necessary information and can avoid an extra alloc. Maintain and merge trg_event_map when adding and merging elements of the pre-locking list. sql/sp_head.h: Add ,m_sroutines_key member, used when inserting the sphead for a trigger into the cache of routines used by a statement. Previously the key was based on the table name the trigger belonged to, since for a given table we would add to the sroutines list all the triggers defined on it. sql/sql_lex.cc: Introduce a new lex step: set_trg_event_type_for_tables(). It is called when we have finished parsing but before opening and locking tables. Now this step is used to evaluate for each TABLE_LIST instance which INSERT/UPDATE/DELETE operation, if any, it is used in. In future this method could be extended to aggregate other information that is hard to aggregate during parsing. sql/sql_lex.h: Add declaration for set_trg_event_type_for_tables(). sql/sql_parse.cc: Call set_trg_event_type_for_tables() after MYSQLparse(). Remove tabs. sql/sql_prepare.cc: Call set_trg_event_type_for_tables() after MYSQLparse(). sql/sql_trigger.cc: Call set_trg_event_type_for_tables() after MYSQLparse(). sql/sql_trigger.h: Remove an obsolete member. sql/sql_view.cc: Call set_trg_event_type_for_tables() after MYSQLparse(). sql/sql_yacc.yy: Move assignment of sp_head::m_type before calling sp_head::init_spname(), one is now used inside another. sql/table.cc: Implement TABLE_LIST::set_trg_event_map() - a method that calculates wh triggers may be fired on this table when executing a statement. sql/table.h: Add missing declarations. Move declaration of trg_event_type from item.h (it will be needed for trg_event_map bitmap when we start using Bitmap template instead of uint8).
-