summaryrefslogtreecommitdiff
path: root/mysql-test/t/ps.test
Commit message (Collapse)AuthorAgeFilesLines
* Prepared for push (BUG#43110)Bernt M. Johnsen2009-02-251-9/+13
|
* Merged from 5.0Bernt M. Johnsen2009-02-251-1/+8
|\ | | | | bug#43111
| * Prepare for push of BUG#43111Bernt M. Johnsen2009-02-251-1/+8
| |
* | Bug #32307 mysqltest - does not detect illegal if syntaxMagnus Svensson2008-08-041-1/+1
| |
* | Update test coverage for Bug#27430 "Crash in subquery code when in PS kostja@bodhi.(none)2008-05-201-0/+18
| | | | | | | | and table DDL changed after PREPARE" to pass in embedded mode.
* | Merge buzz.(none):/home/davi/mysql-5.0-runtimedavi@buzz.(none)2008-02-281-0/+19
|\ \ | |/ | | | | into buzz.(none):/home/davi/mysql-5.1-runtime
| * Bug#33851 Passing UNSIGNED param to EXECUTE returns ERROR 1210davi@mysql.com/endora.local2008-02-281-0/+19
| | | | | | | | | | | | | | | | | | | | The problem is that passing anything other than a integer to a limit clause in a prepared statement would fail. This limitation was introduced to avoid replication problems (e.g: replicating the statement with a string argument would cause a parse failure in the slave). The solution is to convert arguments to the limit clause to a integer value and use this converted value when persisting the query to the log.
* | Merge buzz.(none):/home/davi/mysql-5.0-runtimedavi@buzz.(none)2008-02-211-0/+123
|\ \ | |/ | | | | into buzz.(none):/home/davi/mysql-5.1-runtime
| * Bug#32890 Crash after repeated create and drop of tables and viewsdavi@mysql.com/endora.local2008-02-211-0/+123
| | | | | | | | | | | | | | | | | | | | | | The problem is that CREATE VIEW statements inside prepared statements weren't being expanded during the prepare phase, which leads to objects not being allocated in the appropriate memory arenas. The solution is to perform the validation of CREATE VIEW statements during the prepare phase of a prepared statement. The validation during the prepare phase assures that transformations of the parsed tree will use the permanent arena of the prepared statement.
* | Merge mysql.com:/Users/davi/mysql/mysql-5.0-runtimedavi@endora.local2008-02-081-0/+17
|\ \ | |/ | | | | into mysql.com:/Users/davi/mysql/mysql-5.1-runtime
| * Bug#33798 prepared statements improperly handle large unsigned intsdavi@mysql.com/endora.local2008-02-081-0/+17
| | | | | | | | | | | | | | | | | | | | | | The unsignedness of large integer user variables was not being properly preserved when feeded to prepared statements. This was happening because the unsigned flags wasn't being updated when converting the user variable is converted to a parameter. The solution is to copy the unsigned flag when converting the user variable to a parameter and take the unsigned flag into account when converting the integer to a string.
* | Merge ramayana.hindu.god:/home/tsmith/m/bk/51tsmith@ramayana.hindu.god2007-12-051-0/+10
|\ \ | | | | | | | | | into ramayana.hindu.god:/home/tsmith/m/bk/maint/51-merge
| * \ Merge mysql.com:/home/ram/work/b32137/b32137.5.0ramil/ram@ramil.myoffice.izhnet.ru2007-11-101-0/+10
| |\ \ | | |/ | | | | | | into mysql.com:/home/ram/work/b32137/b32137.5.1
| | * manual merge.ramil/ram@mysql.com/ramil.myoffice.izhnet.ru2007-11-101-0/+10
| | |
* | | Cleanup the test case for Bug#32030 "DELETE does not return an error andkostja@bodhi.(none)2007-11-021-1/+2
| | | | | | | | | | | | deletes rows if error evaluating WHERE"
* | | A fix for Bug#32030 "DELETE does not return an error and deletes rows if kostja@bodhi.(none)2007-11-021-0/+33
|/ / | | | | | | | | | | | | | | | | | | | | | | error evaluating WHERE" DELETE with a subquery in WHERE clause would sometimes ignore subquery evaluation error and proceed with deletion. The fix is to check for an error after evaluation of the WHERE clause in DELETE. Addressed review comments.
* | Merge pilot.(none):/data/msvensson/mysql/mysql-5.0-maintmsvensson@pilot.(none)2007-08-291-3/+0
|\ \ | |/ | | | | into pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
| * Remove unportable use of "system rm"msvensson@pilot.(none)2007-08-291-3/+0
| |
| * Merge mysql.com:/home/ram/work/mysql-5.0-maintramil/ram@ramil.myoffice.izhnet.ru2007-05-231-0/+8
| |\ | | | | | | | | | into mysql.com:/home/ram/work/b28509/b28509.5.0
| * \ Merge bk@192.168.21.1:mysql-5.0holyfoot/hf@mysql.com/hfmain.(none)2007-05-181-0/+18
| |\ \ | | | | | | | | | | | | into mysql.com:/d2/hf/mrg/mysql-5.0-opt
* | | | WL#3984 (Revise locking of mysql.general_log and mysql.slow_log)malff/marcsql@weblab.(none)2007-07-271-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug#25422 (Hang with log tables) Bug 17876 (Truncating mysql.slow_log in a SP after using cursor locks the thread) Bug 23044 (Warnings on flush of a log table) Bug 29129 (Resetting general_log while the GLOBAL READ LOCK is set causes a deadlock) Prior to this fix, the server would hang when performing concurrent ALTER TABLE or TRUNCATE TABLE statements against the LOG TABLES, which are mysql.general_log and mysql.slow_log. The root cause traces to the following code: in sql_base.cc, open_table() if (table->in_use != thd) { /* wait_for_condition will unlock LOCK_open for us */ wait_for_condition(thd, &LOCK_open, &COND_refresh); } The problem with this code is that the current implementation of the LOGGER creates 'fake' THD objects, like - Log_to_csv_event_handler::general_log_thd - Log_to_csv_event_handler::slow_log_thd which are not associated to a real thread running in the server, so that waiting for these non-existing threads to release table locks cause the dead lock. In general, the design of Log_to_csv_event_handler does not fit into the general architecture of the server, so that the concept of general_log_thd and slow_log_thd has to be abandoned: - this implementation does not work with table locking - it will not work with commands like SHOW PROCESSLIST - having the log tables always opened does not integrate well with DDL operations / FLUSH TABLES / SET GLOBAL READ_ONLY With this patch, the fundamental design of the LOGGER has been changed to: - always open and close a log table when writing a log - remove totally the usage of fake THD objects - clarify how locking of log tables is implemented in general. See WL#3984 for details related to the new locking design. Additional changes (misc bugs exposed and fixed): 1) mysqldump which would ignore some tables in dump_all_tables_in_db(), but forget to ignore the same in dump_all_views_in_db(). 2) mysqldump would also issue an empty "LOCK TABLE" command when all the tables to lock are to be ignored (numrows == 0), instead of not issuing the query. 3) Internal errors handlers could intercept errors but not warnings (see sql_error.cc). 4) Implementing a nested call to open tables, for the performance schema tables, exposed an existing bug in remove_table_from_cache(), which would perform: in_use->some_tables_deleted=1; against another thread, without any consideration about thread locking. This call inside remove_table_from_cache() was not required anyway, since calling mysql_lock_abort() takes care of aborting -- cleanly -- threads that might hold a lock on a table. This line (in_use->some_tables_deleted=1) has been removed.
* | | | Merge pilot.(none):/data/msvensson/mysql/bug28369/my51-bug28369msvensson@pilot.(none)2007-06-071-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | into pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
| * | | | Bug#28369 rpl test cases fail with binlog disabledmsvensson@pilot.(none)2007-06-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | - Additional tests in 5.1 that need binlog - Mark more test to need binlog
* | | | | Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/51tsmith@quadxeon.mysql.com2007-06-051-0/+194
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/jun05/51
| * | | | 5.1 version of a fix and test cases for bugs:kostja@vajra.(none)2007-05-281-0/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug#4968 ""Stored procedure crash if cursor opened on altered table" Bug#6895 "Prepared Statements: ALTER TABLE DROP COLUMN does nothing" Bug#19182 "CREATE TABLE bar (m INT) SELECT n FROM foo; doesn't work from stored procedure." Bug#19733 "Repeated alter, or repeated create/drop, fails" Bug#22060 "ALTER TABLE x AUTO_INCREMENT=y in SP crashes server" Bug#24879 "Prepared Statements: CREATE TABLE (UTF8 KEY) produces a growing key length" (this bug is not fixed in 5.0) Re-execution of CREATE DATABASE, CREATE TABLE and ALTER TABLE statements in stored routines or as prepared statements caused incorrect results (and crashes in versions prior to 5.0.25). In 5.1 the problem occured only for CREATE DATABASE, CREATE TABLE SELECT and CREATE TABLE with INDEX/DATA DIRECTOY options). The problem of bugs 4968, 19733, 19282 and 6895 was that functions mysql_prepare_table, mysql_create_table and mysql_alter_table are not re-execution friendly: during their operation they modify contents of LEX (members create_info, alter_info, key_list, create_list), thus making the LEX unusable for the next execution. In particular, these functions removed processed columns and keys from create_list, key_list and drop_list. Search the code in sql_table.cc for drop_it.remove() and similar patterns to find evidence. The fix is to supply to these functions a usable copy of each of the above structures at every re-execution of an SQL statement. To simplify memory management, LEX::key_list and LEX::create_list were added to LEX::alter_info, a fresh copy of which is created for every execution. The problem of crashing bug 22060 stemmed from the fact that the above metnioned functions were not only modifying HA_CREATE_INFO structure in LEX, but also were changing it to point to areas in volatile memory of the execution memory root. The patch solves this problem by creating and using an on-stack copy of HA_CREATE_INFO in mysql_execute_command. Additionally, this patch splits the part of mysql_alter_table that analizes and rewrites information from the parser into a separate function - mysql_prepare_alter_table, in analogy with mysql_prepare_table, which is renamed to mysql_prepare_create_table.
* | | | | Merge mysql.com:/home/ram/work/b28509/b28509.5.0ramil/ram@ramil.myoffice.izhnet.ru2007-05-231-0/+8
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| | into mysql.com:/home/ram/work/b28509/b28509.5.1
| * | | Fox for bug #28509: strange behaviour: passing a decimal value to PSramil/ram@mysql.com/ramil.myoffice.izhnet.ru2007-05-181-0/+8
| | | | | | | | | | | | | | | | Set parameter's type to Item::DECIMAL_ITEM assigning a decimal value.
* | | | mergingholyfoot/hf@mysql.com/hfmain.(none)2007-05-181-109/+0
| | | |
* | | | Merge bk@192.168.21.1:mysql-5.1holyfoot/hf@hfmain.(none)2007-05-181-0/+108
|\ \ \ \ | | | | | | | | | | | | | | | into mysql.com:/d2/hf/mrg/mysql-5.1-opt
| * \ \ \ Merge mysql.com:/d2/hf/mrg/mysql-5.0-optholyfoot/hf@hfmain.(none)2007-05-181-0/+108
| |\ \ \ \ | | | |_|/ | | |/| | | | | | | into mysql.com:/d2/hf/mrg/mysql-5.1-opt
| | * | | Post-merge fix.igor@olga.mysql.com2007-05-141-0/+18
| | |/ /
* | | | Merge vajra.(none):/opt/local/work/mysql-5.0-runtimekostja@vajra.(none)2007-05-111-3/+3
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| into vajra.(none):/opt/local/work/mysql-5.1-runtime
| * | Cleanup: now that we have Lex_input_stream, finish the transitionkostja@vajra.(none)2007-05-111-3/+3
| |/ | | | | | | by moving yet another relevant flag to it from struct LEX.
| * Merge bk-internal.mysql.com:/home/bk/mysql-5.0dlenev@mockturtle.local2007-01-241-0/+31
| |\ | | | | | | | | | into mockturtle.local:/home/dlenev/src/mysql-5.0-merge
| * | Rearrange disable_warnings to enclose the warning emitters properly.cmiller@zippy.cornsilk.net2007-01-191-2/+2
| | |
* | | Fix spelling (recursivity -> recursion)kostja@bodhi.local2007-03-271-1/+1
| | |
* | | Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-5.1kroki/tomash@moonlight.home2007-03-071-0/+57
|\ \ \ | | | | | | | | | | | | into moonlight.home:/home/tomash/src/mysql_ab/mysql-5.1-bug18326
| * | | BUG#18326: Do not lock table for writing during prepare of statementkroki/tomash@moonlight.home2007-03-071-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During statement prepare phase the tables were locked as if the statement is being executed, however this is not necessary. The solution is to not lock tables on statement prepare phase. Opening tables is enough to prevent DDL on them, and during statement prepare we do not access nor modify any data.
* | | | Fixed compiler warningsmonty@mysql.com/narttu.mysql.fi2007-02-231-3/+3
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed compile-pentium64 scripts Fixed wrong estimate of update_with_key_prefix in sql-bench Merge bk-internal.mysql.com:/home/bk/mysql-5.1 into mysql.com:/home/my/mysql-5.1 Fixed unsafe define of uint4korr() Fixed that --extern works with mysql-test-run.pl Small trivial cleanups This also fixes a bug in counting number of rows that are updated when we have many simultanous queries Move all connection handling and command exectuion main loop from sql_parse.cc to sql_connection.cc Split handle_one_connection() into reusable sub functions. Split create_new_thread() into reusable sub functions. Added thread_scheduler; Preliminary interface code for future thread_handling code. Use 'my_thread_id' for internal thread id's Make thr_alarm_kill() to depend on thread_id instead of thread Make thr_abort_locks_for_thread() depend on thread_id instead of thread In store_globals(), set my_thread_var->id to be thd->thread_id. Use my_thread_var->id as basis for my_thread_name() The above changes makes the connection we have between THD and threads more soft. Added a lot of DBUG_PRINT() and DBUG_ASSERT() functions Fixed compiler warnings Fixed core dumps when running with --debug Removed setting of signal masks (was never used) Made event code call pthread_exit() (portability fix) Fixed that event code doesn't call DBUG_xxx functions before my_thread_init() is called. Made handling of thread_id and thd->variables.pseudo_thread_id uniform. Removed one common 'not freed memory' warning from mysqltest Fixed a couple of usage of not initialized warnings (unlikely cases) Suppress compiler warnings from bdb and (for the moment) warnings from ndb
* | | Merge bk-internal.mysql.com:/home/bk/mysql-5.1dlenev@mockturtle.local2007-01-241-0/+31
|\ \ \ | | | | | | | | | | | | into mockturtle.local:/home/dlenev/src/mysql-5.1-merge
| * \ \ Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg24491dlenev@mockturtle.local2007-01-241-0/+31
| |\ \ \ | | | |/ | | |/| | | | | into mockturtle.local:/home/dlenev/src/mysql-5.1-bg24491
| | * | Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtimedlenev@mockturtle.local2007-01-231-0/+31
| | |\ \ | | | | | | | | | | | | | | | into mockturtle.local:/home/dlenev/src/mysql-5.0-bg24491
| | | * | Proposed fix for bug#24491 "using alias from source table in insert ...dlenev@mockturtle.local2007-01-231-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on duplicate key". INSERT ... SELECT ... ON DUPLICATE KEY UPDATE which was used in stored routine or as prepared statement and which in its ON DUPLICATE KEY clause erroneously tried to assign value to a column mentioned only in its SELECT part was properly emitting error on the first execution but succeeded on the second and following executions. Code which is responsible for name resolution of fields mentioned in UPDATE clause (e.g. see select_insert::prepare()) modifies table list and Name_resolution_context used in this process. It uses Name_resolution_context_state::save_state/restore_state() to revert these modifications. Unfortunately those two methods failed to revert properly modifications to TABLE_LIST::next_name_resolution_table and this broke name resolution process for successive executions. This patch fixes Name_resolution_context_state::save_state/restore_state() in such way that it properly handles TABLE_LIST::next_name_resolution_table.
* | | | | Add missing version delimiter.cmiller@zippy.cornsilk.net2007-01-191-0/+2
| | | | |
* | | | | Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maintcmiller@zippy.cornsilk.net2007-01-191-4/+0
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| | into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
| * | | The rpl tree added a test case, and another source added a warning,cmiller@zippy.cornsilk.net2007-01-191-0/+2
| |/ / | | | | | | | | | | | | and combined, they add a platform-specific warning. The warnings are not the goal of the test, in any case.
| * | Fix a ps.test failure in 5.0-runtime tree.kostja@bodhi.local2007-01-171-2/+11
| | |
| * | Merge bodhi.local:/opt/local/work/mysql-4.1-runtimekostja@bodhi.local2007-01-161-0/+5
| |\ \ | | | | | | | | | | | | into bodhi.local:/opt/local/work/mysql-5.0-runtime
| | * | A fix for the broken 4.1-runtime tree.kostja@bodhi.local2007-01-161-0/+5
| | | |
| * | | Manual merge.kostja@bodhi.local2007-01-151-1/+142
| |\ \ \