- 08 Jun, 2005 1 commit
-
-
unknown authored
In order to make multi-delete SP friendly we need to have all table locks for the elements of main statement table list properly set at the end of parsing. Also performed small cleanup: We don't need relink_tables_for_multidelete() any longer since the only case now when TABLE_LIST::correspondent_table is non-zero are tables in auxilary table list of multi-delete and these tables are handled specially in mysql_multi_delete_prepare(). mysql-test/r/sp-threads.result: Added test case for bug #11158 "Can't perform multi-delete in stored procedure". mysql-test/t/sp-threads.test: Added test case for bug #11158 "Can't perform multi-delete in stored procedure". sql/mysql_priv.h: - Removed third argument from the declaration of multi_delete_precheck() as nowdays we calculate number of tables in multi-delete from which we are going to delete rows right at the end of statement parsing. - Introduced definition of multi_delete_set_locks_and_link_aux_tables() which is responsible for propagation of proper table locks from multi-delete's auxilary table list to the main list and binding corresponding tables in these two lists. sql/sql_base.cc: Removed relink_tables_for_multidelete() routine and its invocations. We don't need them in 5.0 since the only case now when TABLE_LIST::correspondent_table is non-zero are tables in auxilary table list of multi-delete and these tables are handled specially in mysql_multi_delete_prepare(). sql/sql_lex.h: LEX::table_count Added description of new role of this LEX member for multi-delete. Now for this statement we store number of tables from which we should delete records there. sql/sql_parse.cc: multi_delete_precheck(): Moved code which is responsible for iterating through auxilary table list and binding its elements with corresponding elements of main table list, and properly updating locks in it to separate function - multi_delete_set_locks_and_link_aux_tables(). This is because in order to make multi-delete SP friendly we need to have all locks set properly at the end of statement parsing. So we are introducing new function which will be called from parser. We also calculate number of tables from which we are going to perform deletions there and store this number for later usage in LEX::table_count. Also removed some no longer needed code. sql/sql_prepare.cc: mysql_test_multidelete(): Now multi_delete_precheck() takes only two arguments, so we don't need to pass fake third parameter. sql/sql_yacc.yy: delete: In order to make multi-delete SP friendly we need to have all table locks for the elements of main statement table list properly set at the end of parsing.
-
- 07 Jun, 2005 39 commits
-
-
unknown authored
(Bug which caused its failure before was fixed in the beginning of March by the ChangeSet that introduced improved SP-locking).
-
unknown authored
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-5.0
-
unknown authored
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0 myisam/mi_key.c: Auto merged myisam/mi_rnext_same.c: Auto merged mysql-test/r/ctype_utf8.result: Auto merged
-
unknown authored
into frost.snake.net:/Volumes/frost2/MySQL/bk/mysql-5.0
-
unknown authored
into frost.snake.net:/Volumes/frost2/MySQL/bk/mysql-5.0 sql/mysqld.cc: Auto merged
-
unknown authored
-
unknown authored
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
-
unknown authored
Added missing ';'. sql/sql_yacc.yy: Added missing ';'.
-
unknown authored
into mysql.com:/home/cps/mysql/trees/mysql-5.0
-
unknown authored
server-tools/instance-manager/instance_options.cc: fix order of if branches server-tools/instance-manager/instance_options.h: portability fix server-tools/instance-manager/parse_output.cc: remove stupid comment server-tools/instance-manager/parse_output.h: portability fix
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-4.1
-
unknown authored
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0 BitKeeper/etc/ignore: auto-union BitKeeper/etc/logging_ok: auto-union myisam/mi_key.c: Auto merged mysql-test/r/ctype_utf8.result: Auto merged mysql-test/r/ps_1general.result: Auto merged mysql-test/r/ps_2myisam.result: Auto merged mysql-test/r/ps_3innodb.result: Auto merged mysql-test/r/ps_4heap.result: Auto merged mysql-test/r/ps_5merge.result: Auto merged sql/item_buff.cc: Auto merged sql/sql_class.cc: Auto merged
-
unknown authored
Fixed bug #9899: erronious NOT_NULL flag for some attributes in the EXPLAIN table. sql/sql_class.cc: Fixed bug #9899: erronious NOT_NULL flag for some attributes in the EXPLAIN table. mysql-test/r/ps_1general.result: Fixed bug #9899: erronious NOT_NULL flag for some attributes in the EXPLAIN table. mysql-test/r/ps_2myisam.result: Fixed bug #9899: erronious NOT_NULL flag for some attributes in the EXPLAIN table. mysql-test/r/ps_3innodb.result: Fixed bug #9899: erronious NOT_NULL flag for some attributes in the EXPLAIN table. mysql-test/r/ps_4heap.result: Fixed bug #9899: erronious NOT_NULL flag for some attributes in the EXPLAIN table. mysql-test/r/ps_5merge.result: Fixed bug #9899: erronious NOT_NULL flag for some attributes in the EXPLAIN table.
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-5.0
-
unknown authored
into rurik.mysql.com:/home/igor/mysql-5.0 sql/item.h: Auto merged sql/sql_select.cc: Auto merged
-
unknown authored
into mysql.com:/home/cps/mysql/trees/mysql-5.0
-
unknown authored
into mysql.com:/space/my/mysql-5.0
-
unknown authored
into mysql.com:/home/my/mysql-4.1
-
unknown authored
support-files/mysql.spec.sh: - added the libndbclient static and shared libraries (BUG 10676)
-
unknown authored
into mysql.com:/opt/local/work/mysql-5.0-7306-final sql/sql_class.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_yacc.yy: Auto merged
-
unknown authored
into mysql.com:/home/cps/mysql/trees/mysql-5.0
-
unknown authored
Fix instead wrong call to ha_key_cmp This is related to bug #10741 Inserting double value into utf8 column crashes server myisam/mi_key.c: Revert Bar's fix as this causes changes in the key tree that could cause incompatibilites myisam/mi_rnext_same.c: Fixed wrong arguments to ha_key_cmp() This caused a compare to fail if we first found a key with end space and then same key without end space mysql-test/r/ctype_utf8.result: Additional test mysql-test/t/ctype_utf8.test: Additional test
-
unknown authored
server-tools/instance-manager/commands.cc: remove commented out code server-tools/instance-manager/instance.cc: use flag instead of int variable server-tools/instance-manager/instance.h: no more default values server-tools/instance-manager/instance_map.cc: use flag to be more verbose server-tools/instance-manager/instance_options.cc: don't read options when looking for an option, use strmake instead of strchr server-tools/instance-manager/instance_options.h: fix comment, use flag instead of int value server-tools/instance-manager/listener.cc: don't like c++ comments server-tools/instance-manager/log.cc: safety: strmake adds trailing zero to the string server-tools/instance-manager/parse_output.cc: use strmake instead of strncpy, renamed varianles to make code more readable server-tools/instance-manager/parse_output.h: get rid of default value
-
unknown authored
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
-
unknown authored
Removed an extra space char. sql/item_buff.cc: Removed an extra space char.
-
unknown authored
into mysql.com:/opt/local/work/mysql-5.0-7306-final
-
unknown authored
into mysql.com:/home/dlenev/src/mysql-5.0-bg10015 sql/handler.cc: Auto merged sql/item_func.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_yacc.yy: Auto merged
-
unknown authored
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.
-
unknown authored
into hundin.mysql.fi:/home/heikki/mysql-5.0
-
unknown authored
sql/item.h: Auto merged sql/item_subselect.cc: Auto merged sql/sp_head.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_handler.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_repl.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_yacc.yy: Auto merged
-
unknown authored
into a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.0
-
unknown authored
into a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.0
-
unknown authored
into mysql.com:/space/my/mysql-5.0
-
unknown authored
better fix for bug#10190 ndb/src/ndbapi/NdbDictionaryImpl.cpp: better fix for bug#10190
-
unknown authored
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
-
unknown authored
error for LIMIT placeholder". The patch adds grammar support for LIMIT ?, ? and changes the type of ST_SELECT_LEX::select_limit,offset_limit from ha_rows to Item*, so that it can point to Item_param. mysql-test/include/ps_modify.inc: Fix existing tests: now LIMIT can contain placeholders. mysql-test/include/ps_query.inc: Fix existing tests: now LIMIT can contain placeholders. mysql-test/r/ps.result: Add basic test coverage for LIMIT ?, ? and fix test results. mysql-test/r/ps_2myisam.result: Fix test results: now LIMIT can contain placeholders. mysql-test/r/ps_3innodb.result: Fix test results: now LIMIT can contain placeholders. mysql-test/r/ps_4heap.result: Fix test results: now LIMIT can contain placeholders. mysql-test/r/ps_5merge.result: Fix test results: now LIMIT can contain placeholders. mysql-test/r/ps_6bdb.result: Fix test results: now LIMIT can contain placeholders. mysql-test/r/ps_7ndb.result: Fix test results: now LIMIT can contain placeholders. mysql-test/t/ps.test: Add basic test coverage for LIMIT ?, ?. sql/item.h: Add a short-cut for (ulonglong) val_int() to Item. Add a constructor to Item_int() that accepts ulonglong. Simplify Item_uint constructor by using the c-tor above. sql/item_subselect.cc: Now select_limit has type Item *. We can safely create an Item in Item_exists_subselect::fix_length_and_dec(): it will be allocated in runtime memory root and freed in the end of execution. sql/sp_head.cc: Add a special initalization state for stored procedures to be able to easily distinguish the first execution of a stored procedure from prepared statement prepare. sql/sql_class.h: Introduce new state 'INITIALIZED_FOR_SP' to be able to easily distinguish the first execution of a stored procedure from prepared statement prepare. sql/sql_derived.cc: - use unit->set_limit() to set unit->select_limit_cnt, offset_limit_cnt evreryplace. Add a warning about use of set_limit in mysql_derived_filling. sql/sql_error.cc: - use unit->set_limit() to set unit->select_limit_cnt, offset_limit_cnt evreryplace. - this change is also aware of bug#11095 "show warnings limit 0 returns all rows instead of zero rows", so the one who merges the bugfix from 4.1 can use local version of sql_error.cc. sql/sql_handler.cc: - use unit->set_limit() to initalize unit->select_limit_cnt,offset_limit_cnt everyplace. sql/sql_lex.cc: Now ST_SELECT_LEX::select_limit, offset_limit have type Item * sql/sql_lex.h: Now ST_SELECT_LEX::select_limit, offset_limit have type Item * sql/sql_parse.cc: - use unit->set_limit() to initalize unit->select_limit_cnt,offset_limit_cnt everyplace. - we can create an Item_int to set global limit of a statement: it will be created in the runtime mem root and freed in the end of execution. sql/sql_repl.cc: Use unit->set_limit to initialize limits. sql/sql_select.cc: - select_limit is now Item* so the proper way to check for default value is to compare it with NULL. sql/sql_union.cc: Evaluate offset_limit_cnt using the new type of ST_SELECT_LEX::offset_limit sql/sql_view.cc: Now ST_SELECT_LEX::select_limit, offset_limit have type Item * sql/sql_yacc.yy: Add grammar support for LIMIT ?, ? clause.
-
unknown authored
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0 mysql-test/r/group_by.result: Auto merged sql/item.h: Auto merged sql/item_buff.cc: Auto merged sql/sql_select.cc: Auto merged
-
unknown authored
Fixed bug #11088: a crash for queries with GROUP BY a BLOB column + COUNT(DISTINCT...) due to an attempt to allocate a too large buffer for the BLOB field. Now the size of the buffer is limited by max_sort_length. group_by.test, group_by.result: Added a test case for bug #11088. mysql-test/r/group_by.result: Added a test case for bug #11088. mysql-test/t/group_by.test: Added a test case for bug #11088. sql/item.h: Fixed bug #11088: a crash for queries with GROUP BY a BLOB column + COUNT(DISTINCT...) due to an attempt to allocate a too large buffer for the BLOB fields. Now the size of the buffer is limited by max_sort_length. sql/item_buff.cc: Fixed bug #11088: a crash for queries with GROUP BY a BLOB column + COUNT(DISTINCT...) due to an attempt to allocate a too large buffer for the BLOB fields. Now the size of the buffer is limited by max_sort_length. sql/sql_select.cc: Fixed bug #11088: a crash for queries with GROUP BY a BLOB column + COUNT(DISTINCT...) due to an attempt to allocate a too large buffer for the BLOB fields. Now the size of the buffer is limited by max_sort_length.
-