Commit graph

4545 commits

Author SHA1 Message Date
unknown
78e8833f39 Fix bug#13535 Incorrect result from SELECT statement after SHOW TABLE STATUS
After SHOW TABLE STATUS last_insert_id wasn't cleaned, and next select
erroneously rewrites WHERE condition and returs a row;
5.0 isn't affected because of different SHOW TABLE STATUS handling.

last_insert_id cleanup added to mysqld_extend_show_tables().


sql/sql_show.cc:
  Fix bug #13535 Incorrect result from SELECT statement after SHOW TABLE STATUS
  Added last_insert_id cleanup after SHOW TABLE STATUS command.
mysql-test/t/select.test:
  Test case for bug #13535 Incorrect result from SELECT statement after SHOW TABLE STATUS
mysql-test/r/select.result:
  Test case for bug #13535 Incorrect result from SELECT statement after SHOW TABLE STATUS
2005-10-03 23:22:46 +04:00
unknown
48838170c7 Merge mysql.com:/home/mydev/mysql-4.0-4000
into  mysql.com:/home/mydev/mysql-4.1-4100


mysql-test/t/merge.test:
  Auto merged
mysql-test/r/merge.result:
  SCCS merged
2005-09-29 13:44:17 +02:00
unknown
a671075d3e Bug#9112 - Merge table with composite index producing invalid results with some queries
Second platform fix for floating point rounding.
2005-09-29 13:37:30 +02:00
unknown
f3ad732052 Fix for bug #7977 in sql_mode=ANSI, show create table ignores auto_increment
"CHARACTER SET", "COLLATE", and "DEFAULT" are always
  printed(excepting MODE_MYSQL323 and MODE_MYSQL40)
  "AUTO_INCREMENT", "ON UPDATE CURRENT_TIMESTAMP" are printed only 
  if NO_FIELD_OPTIONS is not set.


mysql-test/r/sql_mode.result:
  Fix for bug #7977 in sql_mode=ANSI, show create table ignores auto_increment
    test case
mysql-test/t/sql_mode.test:
  Fix for bug #7977 in sql_mode=ANSI, show create table ignores auto_increment
    test case
2005-09-29 16:17:45 +05:00
unknown
9f9bc8347d Merge mysql.com:/home/mydev/mysql-4.1
into  mysql.com:/home/mydev/mysql-4.1-4100
2005-09-28 20:09:13 +02:00
unknown
68045dfd4b Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
2005-09-28 13:45:42 +02:00
unknown
2de206b4ee Fixed a bug checksum table locks the InnoDB table and does not use a
consistent read (Bug #12669).


mysql-test/r/innodb.result:
  Added test results for a checksum test.
mysql-test/t/innodb.test:
  Added test case for a checksum bug #12669.
sql/ha_innodb.cc:
  Use consistent read for checksum table and convert MySQL lock type
  to the TL_READ because at the moment MySQL uses TL_READ_NO_INSERT.
2005-09-28 14:14:49 +03:00
unknown
a17b3dcbe3 Fix bug#13356 resolve_const_item() wasn't able to handle Item_row items.
resolve_const_item() assumed to be not called for Item_row items. For
ensuring that DBUG_ASSERT(0) was set there.

This patch adds section for Item_row items. If it can it recursively calls
resolve_const_item() for each item the Item_row contains. If any of the
contained items is null then whole Item_row substitued by Item_null. Otherwise
it just returns.


sql/item.cc:
  Fix bug#13356 resolve_const_item() wasn't able to handle Item_row items.
  
  Added section to resolve_const_item() for Item_row items. If it can it
  recursively calls resolve_const_item() for each item the Item_row contains. If
  any of the contained items is null then Item_row is substituted by Item_null.
  Otherwise it just returns.
  Comment moved closer to function it belongs to.
mysql-test/t/select.test:
  Test case for bug#13356 resolve_const_item() wasn't able to handle Item_row items.
mysql-test/r/select.result:
  Test case for bug#13356 resolve_const_item() wasn't able to handle Item_row items.
2005-09-28 00:58:12 +04:00
unknown
e4fe90bfa7 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/fix_mysqltest/my41-fix_mysqltest


client/mysqltest.c:
  Manual merge
mysql-test/mysql-test-run.pl:
  patch alredy commited
2005-09-27 16:48:41 +02:00
unknown
e4074a6753 Merge mysql.com:/home/mydev/mysql-4.0-4000
into  mysql.com:/home/mydev/mysql-4.1-4100


mysql-test/r/merge.result:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Manual merge
mysql-test/t/merge.test:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Manual merge
2005-09-27 15:42:14 +02:00
unknown
629697e594 Bug#9112 - Merge table with composite index producing invalid results with some queries
Reduced the precision of the test numbers.
Not all platforms could reproduce the exact numbers.


mysql-test/r/merge.result:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  The new test result
2005-09-27 15:26:16 +02:00
unknown
502b3cc00d Merge mysql.com:/home/mydev/mysql-4.1
into  mysql.com:/home/mydev/mysql-4.1-4100
2005-09-26 09:56:18 +02:00
unknown
466b46a66a Fixed error found during review of new pushed code
client/mysql.cc:
  Don't use c_ptr() for cgets() and ensure buffer is not overwritten
mysql-test/r/cast.result:
  More test for CAST(0x.... as signed)
sql/opt_sum.cc:
  Fix bugs found during review
  - Changed code to be able to remove one if
  - Ensure that count == 0 only if is_exact_count == TRUE
sql/sql_delete.cc:
  Ensure 'allow_sum_func' is reset before call to setup_conds
sql/sql_lex.cc:
  allow_sum_func doesn't have to be reset for each query
  (It's to be reset in setup_fields() or before call to setup_conds()
sql/sql_load.cc:
  Move set of auto_increment_field_not_null so that it's not set if field value is NULL
sql/sql_prepare.cc:
  allow_sum_func doesn't have to be reset for each query
  (It's to be reset in setup_fields() or before call to setup_conds()
sql/sql_update.cc:
  Ensure 'allow_sum_func' is reset before call to setup_conds
2005-09-25 21:22:23 +03:00
unknown
5559c48e18 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug13419
2005-09-24 01:55:09 +04:00
unknown
2a4f5aacd7 BUG#12232: Addressing docs team feedback: s/inequal/unequal/ 2005-09-24 01:39:50 +04:00
unknown
32de973588 Fix for BUG#13419: In "ref" optimizer, take into account that item=Item_func_in(x,y) is
not equivalent to "x=y" when item->negated == TRUE.


mysql-test/r/func_in.result:
  Testcase for BUG#13419
mysql-test/t/func_in.test:
  Testcase for BUG#13419
sql/sql_select.cc:
  Fix for BUG#13419:
  * Take into account that item=Item_func_in(x,y) is not equivalent to "x=y" when 
    item->negated == TRUE.
  * Removed comment that is no longer true.
2005-09-23 13:43:20 +04:00
unknown
c08721e5fa Merge mysql.com:/home/mydev/mysql-4.0-4000
into  mysql.com:/home/mydev/mysql-4.1-4100


myisam/mi_dbug.c:
  Auto merged
myisam/mi_rkey.c:
  Auto merged
myisam/mi_search.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
myisammrg/myrg_rkey.c:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Manual merge
mysql-test/r/merge.result:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Manual merge
mysql-test/t/merge.test:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Manual merge
2005-09-23 10:49:08 +02:00
unknown
674c8165ea Bug#9112 - Merge table with composite index producing invalid results with some queries
The problem was an ab-use of last_rkey_length.
Formerly we saved the packed key length (of the search key)
in this element. But in certain cases it got replaced by 
the (packed) result key length.
Now we use a new element of MI_INFO to save the packed key 
length of the search key.


myisam/mi_dbug.c:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Fixed the recognition of NULL values in _mi_print_key().
myisam/mi_rkey.c:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Saved the packed key length in a new element of MI_INFO.
myisam/mi_search.c:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Added a comment and trace prints.
myisam/myisamdef.h:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Added a new element to store the packed key length
  for use by the MyISAMMRG engine.
myisammrg/myrg_rkey.c:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  Changed to use the new element of MI_INFO to get at the
  packed key length.
mysql-test/r/merge.result:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  The test result.
mysql-test/t/merge.test:
  Bug#9112 - Merge table with composite index producing invalid results with some queries
  The test case.
2005-09-23 10:15:11 +02:00
unknown
fe61a61355 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/gluh/MySQL/Merge/4.1
2005-09-22 12:46:50 +05:00
unknown
91ed9588bf Fix for bug#12053 LOAD DATA INFILE ignores NO_AUTO_VALUE_ON_ZERO setting
set auto_increment_field_not_null to true to preserve zero values
  for autoincrement fields during LOAD DATA execution if 
  NO_AUTO_VALUE_ON_ZERO sql mode is set


mysql-test/r/loaddata.result:
  Fix for bug#12053 LOAD DATA INFILE ignores NO_AUTO_VALUE_ON_ZERO setting
    test case
mysql-test/t/loaddata.test:
  Fix for bug#12053 LOAD DATA INFILE ignores NO_AUTO_VALUE_ON_ZERO setting
    test case
2005-09-22 12:46:01 +05:00
unknown
2543c551cb Merge perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-push
2005-09-22 09:13:14 +02:00
unknown
8e78ba93ec Add testcase for bug#13316
ndb big alter table


mysql-test/r/ndb_alter_table.result:
  Add testcase for bug#13316
mysql-test/t/ndb_alter_table.test:
  Add testcase for bug#13316
2005-09-22 09:09:27 +02:00
unknown
14deb9632b Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/13180-bug-4.1-mysql
2005-09-22 01:48:39 +04:00
unknown
1b02a815dd Fix bug #13180 thd->allow_sum_funcs wasn't reset before query processing.
thd->allow_sum_func was left 'true' after previous statement thus allowing
sum funcs to be present in conditions.

thd->allow_sum_func should be set to 0 for each query and each prepared
statement reinitialization. This is done in lex_start() and 
reset_stmt_for_execute().


sql/sql_lex.cc:
  Fix bug#13180 thd->allow_sum_func wasn't reset obefore query processing.
  thd->allow_sum_func is set to 0 in lex_start().
sql/sql_prepare.cc:
  Fix bug#13180 thd->allow_sum_func wasn't reset obefore query processing.
  thd->allow_sum_func is set to 0 in  reset_stmt_for_execute().
mysql-test/t/update.test:
  Test case for bug#13180 thd->allow_sum_funcs wasn't reset before query
  processing.
mysql-test/r/update.result:
  Test case for bug#13180 thd->allow_sum_funcs wasn't reset before query
  processing.
2005-09-22 01:38:39 +04:00
unknown
09225cef3a Merge mysql.com:/home/timka/mysql/src/4.1-virgin
into  mysql.com:/home/timka/mysql/src/4.1-dbg
2005-09-21 18:58:39 +03:00
unknown
24922a3092 a fix (bug #7589: Decimal types are ignored when updating data from another column).
mysql-test/r/union.result:
  a fix (bug #7589: Decimal types are ignored when updating data from another column).
  removed wrong test result (see #13372)
mysql-test/t/union.test:
  a fix (bug #7589: Decimal types are ignored when updating data from another column).
  removed wrong test result (see #13372)
sql/field_conv.cc:
  a fix (bug #7589: Decimal types are ignored when updating data from another column).
  use memcpy() only for identical decimals.
2005-09-21 14:32:19 +05:00
unknown
a4243d3c6b Merge mysql.com:/home/timka/mysql/src/4.1-virgin
into  mysql.com:/home/timka/mysql/src/4.1-dbg


sql/opt_sum.cc:
  Auto merged
2005-09-21 09:53:42 +03:00
unknown
8e7217e43b Fix for BUG#12882 - min/max inconsistent on empty table.
The problem was in that the MIN/MAX optimization in opt_sum_query was
replacing MIN/MAX functions with their constant argument without
taking into account that a query has no result rows.


mysql-test/r/func_group.result:
  Test for BUG#12882.
mysql-test/t/func_group.test:
  Test for BUG#12882.
sql/item_sum.cc:
  If it is known that a query has no result rows, do not call add()
  via the call to Item_sum::no_rows_in_result() which calls reset().
  Instead directly call clear() so that the MIN and MAX functions
  produce NULL when there are no result rows.
sql/opt_sum.cc:
  * Do not apply MIN/MAX optimization when the operand of MIN/MAX is
    a constant if it can't be determined whether the query has any
    result rows. The reason is that if the query has result rows,
    then the result of MIN/MAX is its constant argument, but if the
    query result is empty, then the result of MIN/MAX must be NULL
    irrespective of its argument.
  
  * The patch also simplifies a bit the branch that hadles COUNT().
2005-09-21 09:49:19 +03:00
unknown
458a4234e4 Merge mysql.com:/home/psergey/bk-trees/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-csc6030-r3


sql/mysqld.cc:
  Auto merged
2005-09-21 02:20:55 +04:00
unknown
a2a8216b20 BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index
statistics (like 4.0 did) (patch #3, with review #1 & #2 feedback addressed)


include/myisam.h:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
myisam/mi_check.c:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
myisam/myisamchk.c:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
mysql-test/r/myisam.result:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
mysql-test/t/myisam.test:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
sql/ha_myisam.cc:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
sql/handler.h:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
sql/mysqld.cc:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
sql/set_var.cc:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
sql/sql_class.h:
  BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
2005-09-21 02:18:29 +04:00
unknown
0aee9b2c19 BUG#12959 mysqltest crashes if testcase passed with -x option
- Enable testcases after help from Serg 


client/mysqltest.c:
  Dump output to stdout if no result file is specified
  Don't print verbose_msg when command fails whith expected error
mysql-test/mysql-test-run.pl:
  Don't add all args to the MYSQL_TEST environment variable.
mysql-test/r/mysqltest.result:
  Add test for mysqltest -x
mysql-test/t/mysqltest.test:
  Add test for mysqltest -x
2005-09-20 14:11:58 +02:00
unknown
5cf25d8019 Merge spachev@bk-internal.mysql.com:/home/bk/mysql-4.1
into  asksasha.com:/reiser-data/mysql-dev/mysql-4.1-bug11139
2005-09-19 15:45:01 -06:00
unknown
5bc4501259 Fix bug #13218: InnoDB: using a partial-field key prefix in search
This is backport from 5.0 of fix for bug #11039


mysql-test/t/innodb.test:
  Backport from 5.0 of test case for bug#11039
mysql-test/r/innodb.result:
  Backport from 5.0 of test case for bug#11039
sql/opt_sum.cc:
  Fix bug #13218:  backport from 5.0 of bug #11039 fix
2005-09-19 04:39:49 +04:00
unknown
ce7e95d41d Merge spachev@bk-internal.mysql.com:/home/bk/mysql-4.1
into  asksasha.com:/reiser-data/mysql-dev/mysql-4.1-bug11139


mysql-test/r/rpl_multi_delete2.result:
  Auto merged
mysql-test/t/rpl_multi_delete2-slave.opt:
  Auto merged
mysql-test/t/rpl_multi_delete2.test:
  Auto merged
2005-09-17 18:46:54 -06:00
unknown
36d163d6cf Fix bug#12887 Distinct is not always applied after rollup
For queries with GROUP BY and without hidden GROUP BY fields DISTINCT is
optimized away becuase such queries produce result set without duplicates.
But ROLLUP can add rows which may be same to some rows and this fact was
ignored.

Added check so if ROLLUP is present DISTINCT can't be optimized away.


sql/sql_select.cc:
  Fix bug #12887 Distinct is not always applied after rollup
mysql-test/r/olap.result:
  Test case for bug #12887 Distinct is not always applied after rollup
mysql-test/t/olap.test:
  Test case for bug #12887 Distinct is not always applied after rollup
2005-09-15 21:34:11 +04:00
unknown
3be8c9074a Merge spachev@bk-internal.mysql.com:/home/bk/mysql-4.1
into  asksasha.com:/reiser-data/mysql-dev/mysql-4.1-bug11139


sql/sql_parse.cc:
  Auto merged
2005-09-14 06:37:52 -06:00
unknown
f89424f8b6 fix for BUG#11139 (multi-delete with alias breaking replication if table rules are
present): the problem originally was that the tables in auxilliary_tables did not have 
the correct real_name, which caused problems in the second call to tables_ok(). 
The fix corrects the real_name problem, and also sets the updating flag properly, 
which makes the second call to tables_ok() unnecessary.


mysql-test/r/rpl_multi_delete2.result:
  updates for for BUG#11139
mysql-test/t/rpl_multi_delete2-slave.opt:
  updates for for BUG#11139
mysql-test/t/rpl_multi_delete2.test:
  updates for for BUG#11139
sql/mysql_priv.h:
  fix for BUG#11139 (multi-delete with alias breaking replication if table rules are
   present)
sql/slave.cc:
  fix for BUG#11139 (multi-delete with alias breaking replication if table rules are
   present)
sql/sql_parse.cc:
  fix for BUG#11139 (multi-delete with alias breaking replication if table rules are
   present)
sql/sql_yacc.yy:
  fix for BUG#11139 (multi-delete with alias breaking replication if table rules are
   present)
2005-09-14 06:31:38 -06:00
unknown
38b2cd733b Update test result
mysql-test/r/ndb_autodiscover.result:
  Update results
2005-09-12 12:45:03 -07:00
unknown
17233698fc Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/gluh/MySQL/Bugs/4.1.6008
2005-09-12 20:49:48 +05:00
unknown
3ad213baca Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  mishka.mysql.com:/home/my/mysql-4.1
2005-09-12 18:49:47 +03:00
unknown
90ca6d15b3 Review fixes since last pull
Fix for bug #13025; Server crash in filesort because wrong call to handler::position()


client/mysqltest.c:
  Code cleanup during review
mysql-test/r/innodb.result:
  Added test case for bug #13025; Server crash in filesort because wrong call to handler::position()
mysql-test/t/innodb.test:
  Added test case for bug #13025; Server crash in filesort because wrong call to handler::position()
sql/filesort.cc:
  Don't call handler::position() if row was not found
sql/item_cmpfunc.cc:
  Indentation changes
sql/sql_select.cc:
  Moved variable to outer level
2005-09-12 18:48:17 +03:00
unknown
bab5cb7834 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/gluh/MySQL/Bugs/4.1.6008
2005-09-12 17:33:21 +05:00
unknown
63080dc200 Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
produce warning for 'create database if not exists' if database exists
  do not update database options in this case  
  produce warning for 'create table if not exists' if table exists



mysql-test/r/create.result:
  Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
    updated test case result
mysql-test/r/temp_table.result:
  Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
    updated test case result
mysql-test/r/warnings.result:
  Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
    updated test case result
mysql-test/t/create.test:
  Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
    test case
sql/sql_db.cc:
  Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
    produce warning for 'create database if not exists' if database exists
    do not update database options in this case
sql/sql_table.cc:
  Fix for bug #6008: MySQL does not create warnings when creating database and using IF NOT EXISTS
    produce warning for 'create table if not exists' if table exists
2005-09-12 17:09:19 +05:00
unknown
39c2107eb2 Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1
into  mysql.com:/users/lthalmann/bk/mysql-4.1-magnus
2005-09-12 13:00:55 +02:00
unknown
e98e15db9b ps_6bdb, ps_7ndb tests failure fix 2005-09-12 14:21:38 +05:00
unknown
eac9a33778 Reverted old fix with sync_slave_with_master and added a replace commands
to eliminate nondeterminism in slave start
2005-09-12 10:50:42 +02:00
unknown
53043f535a Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-4.1
into  a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-4.1
2005-09-10 18:41:37 +03:00
unknown
8c129f5012 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/12695-bug-4.1-mysql
2005-09-10 02:31:42 +04:00
unknown
fa13c29b2e insert_select.result, insert_select.test:
Customer's test case for bug#12695 Item_func_isnull::update_used_tables() did 
  not update const_item_cache.


mysql-test/t/insert_select.test:
  Customer's test case for bug#12695 Item_func_isnull::update_used_tables() did 
  not update const_item_cache.
mysql-test/r/insert_select.result:
  Customer's test case for bug#12695 Item_func_isnull::update_used_tables() did 
  not update const_item_cache.
2005-09-10 02:30:26 +04:00
unknown
19fa54f04e Fixed Bug#10716, Procedure Analyse results in wrong values for optimal field type
Added test case.
2005-09-09 20:02:13 +03:00