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.
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
Revert to shell test script for test targets
mysqltest.c:
Windows pclose() returns error code in low byte
mysql_config.sh:
Remove -Xa -xstrconst from --cflags for Sun C++
scripts/mysql_config.sh:
Remove -Xa -xstrconst from --cflags for Sun C++
client/mysqltest.c:
Windows pclose() returns error code in low byte
Makefile.am:
Revert to shell test script for test targets
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.
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
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.
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
sql/sql_yacc.yy:
a fix (#11553: gives error if aggregate user-defined function in HAVING clause).
udf_sum_expr_list rule introduced and used for aggregate udf functions:
- call inc_in_sum_expr() before udf_expr_list parsing
(as in_sum_expr rule does).
ndb alter table with big dicttabinfo
send alter_tab_req fragmented as signal can get larger than MAX_MESSAGE_SIZE
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
DictTabInfo used during alter table can easily becom larger than MAX_MESSAGE_SIZE
send fragmented instead
into mysql.com:/home/jimw/my/mysql-4.1-clean
zlib/ChangeLog:
Auto merged
zlib/FAQ:
Auto merged
zlib/README:
Auto merged
zlib/crc32.c:
Auto merged
zlib/deflate.c:
Auto merged
zlib/deflate.h:
Auto merged
zlib/gzio.c:
Auto merged
zlib/infback.c:
Auto merged
zlib/inffast.c:
Auto merged
zlib/inflate.c:
Auto merged
zlib/inftrees.c:
Auto merged
zlib/inftrees.h:
Auto merged
zlib/trees.c:
Auto merged
zlib/zconf.h:
Auto merged
zlib/zlib.3:
Auto merged
zlib/zlib.h:
Auto merged
zlib/zutil.h:
Auto merged
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.
ndb backup with charsets and simultanious updates
make sure that backup _dont_ read xfrm data
ndb/src/kernel/blocks/backup/Backup.cpp:
Backup can do dirty read
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
Fix so that backup dont read xfrm data
ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp:
Fix so that backup dont read xfrm data
This fixes the new report for bug #7036
mysql-test/t/cast.test:
Added test for cast(hex-value to signed/unsigned)
sql/item.h:
Ensure that hex strings are used as integers in cast(... signed/unsigned)
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.
mysql-test/mysql-test-run.pl:
Not all args to mysqltest should be added to the MYSQL_TEST environment variable. The MYSQL_TEST var is used when testing mysqltest and --record and result_file should not be set.
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().
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