into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
mysql-test/r/select_found.result:
Auto merged
mysql-test/t/select_found.test:
Auto merged
sql/sql_select.cc:
Auto merged
Added a test case for bug #7945.
sql_select.cc:
Fixed bug #7945. If DISTINCT is used only with constants
in a query with GROUP BY, we can apply an optimization
that set LIMIT to 1 only in the case when there is
no SQL_CALC_FOUND_ROWS.
sql/sql_select.cc:
Fixed bug #7945. If DISTINCT is used only with constants
in a query with GROUP BY, we can apply an optimization
that set LIMIT to 1 only in the case when there is
no SQL_CALC_FOUND_ROWS.
mysql-test/t/select_found.test:
Added a test case for bug #7945.
mysql-test/r/select_found.result:
Added a test case for bug #7945.
Bug#7834 Illegal mix of collations in IN operator
IN was the first function supporting
character set convertion.
agg_arg_charsets() was written afterwards,
which is more flexible.
Now IN just reuses this function.
sql/item_cmpfunc.cc:
Bug#7834 Illegal mix of collations in IN operator
IN was the first function supporting
character set convertion.
agg_arg_charsets() was written afterwards,
which is more flexible.
Now IN just reuses this function.
mysql-test/r/union.result:
result for a test case for the wrong examined rows with UNION's
mysql-test/t/union.test:
test case for the wrong examined rows with UNION's
sql/sql_union.cc:
a patch for the wrong examined rows with UNION's
prefix", which roots were fixed in 4.0 tree.
mysql-test/r/alter_table.result:
Added test for bug #7884 "Able to add invalid unique index on TIMESTAMP
prefix".
mysql-test/t/alter_table.test:
Added test for bug #7884 "Able to add invalid unique index on TIMESTAMP
prefix".
mysql-test/r/subselect.result:
Testcase for BUG#7885
mysql-test/t/subselect.test:
Testcase for BUG#7885
sql/item_subselect.cc:
Fix for BUG#7885: In Item_subselect::fix_fields, return error if engine->prepare fails.
Also removed redundant code line.
not default_charset_into. It fixes the
problem that in some cases numbers where
treated as CHAR(N), not as BINARY(N), e.g.
wrong 'charsetnr' when sent to the client side.
2. IFNULL didn't aggregate argument charsets
and collations, so IFNULL(1,'a') produced
a CHAR(N). Now produces a BINARY(N).
3. SELECT PROCEDURE ANALIZE now returns
BINARY columns, which is much better than it worked
previously: CHAR with the default character set.
But in the future it's worth to fix the fields
'Field_name' and 'Optimal_fieldtype' to use UTF8,
and 'Min_value' and 'Max_value' to inherit their charsets
from the original items. But it is not important,
and BINARY(N) is OK for now.
4. Tests were fixed accordingly. No new tests were
made, as the old onces cover everything.
mysql-test/r/analyse.result:
SELECT PROCEDURE ANALIZE now returns
BINARY columns, which is much better than it worked
previously: CHAR with the default character set.
But in the future it's worth to fix the fields
'Field_name' and 'Optimal_fieldtype' to use UTF8,
and 'Min_value' and 'Max_value' to inherit their charsets
from the original items. But it is not important,
and BINARY(N) is OK for now.
mysql-test/r/case.result:
Test fix according to the changes
mysql-test/r/metadata.result:
Test fix according to the changes
mysql-test/r/ps_1general.result:
Test fix according to the changes
mysql-test/r/ps_2myisam.result:
Test fix according to the changes
mysql-test/r/ps_3innodb.result:
Test fix according to the changes
mysql-test/r/ps_4heap.result:
Test fix according to the changes
mysql-test/r/ps_5merge.result:
Test fix according to the changes
mysql-test/r/ps_6bdb.result:
Test fix according to the changes
mysql-test/r/ps_7ndb.result:
Test fix according to the changes
mysql-test/r/union.result:
Test fix according to the changes
sql/item.cc:
Item is now BINARY by default
sql/item_cmpfunc.cc:
IFNULL now collects arguments collations/charsets
like other functions do.
set to a negative value. (Bug #7700)
sql/field_conv.cc:
Don't treat real fields as identical when destination is unsigned and
the source is not.
mysql-test/t/type_float.test:
Add test for setting double unsigned to a negative value from a signed double
mysql-test/r/type_float.result:
Add test results
Added a test case for bug #7769.
item_sum.h:
Fixed bug #7769: a crash for queries with group_concat and
having when the query table was empty.
The bug was due an unsafe dereferencing.
sql/item_sum.h:
Fixed bug #7769: a crash for queries with group_concat and
having when the query table was empty.
The bug was due an unsafe dereferencing.
mysql-test/t/func_gconcat.test:
Added a test case for bug #7769.
mysql-test/r/func_gconcat.result:
Added a test case for bug #7769.
key algorithm for keys where they were explicitly specified.
mysql-test/r/show_check.result:
Add results
mysql-test/t/show_check.test:
Add tests for preservation of key algorithm in SHOW CREATE TABLE output
absolute value of the float is less than 1, and also fix calculation of
length for negative values. (Bug #7774)
sql/field.cc:
Fix handling of negative values and fabs(values> < 1 in Field_str::store
mysql-test/r/type_float.result:
Add results
mysql-test/r/type_float.result.es:
Add results
mysql-test/t/type_float.test:
Add test for conversion of floats to character field
when printing SET @var in mysqlbinlog, backtick the collation (as BINARY is a reserved word)
mysql-test/r/ctype_ucs.result:
backticks added
mysql-test/r/user_var.result:
backticks added
mysql-test/t/user_var.test:
testing a variable with BINARY collation, which needs the backticks
sql/log_event.cc:
when printing SET @var in mysqlbinlog, backtick the collation (as BINARY is a reserved word)
mysql-test/r/func_sapdb.result:
Added test for bug #7586 "TIMEDIFF for sec+microsec not working
properly". Corrected previously wrong results of couple other
statements.
mysql-test/t/func_sapdb.test:
Added test for bug #7586 "TIMEDIFF for sec+microsec not working
properly".
sql/item_timefunc.cc:
Item_func_timediff::val_str():
Use simplier and less error-prone implementation. Now we are counting
difference between time values in microseconds and convert it to time
value (instead of using seconds and taking difference in "second_part"s
into account).
mysql-test/r/ndb_index_ordered.result:
Test scan with invalid table version
mysql-test/t/ndb_index_ordered.test:
Test scan with invalid table version
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Set apiConnectstate= CS_ABORTING when receving a scan req with invalid
table version
mode".
Changed grammar rule for "type" token. Now we have one branch with
optional length specification for TIMESTAMP type instead of two separate
branches.
mysql-test/r/type_timestamp.result:
Added test case for bug #7418 "TIMESTAMP not always converted to DATETIME
in MAXDB mode".
mysql-test/t/type_timestamp.test:
Added test case for bug #7418 "TIMESTAMP not always converted to DATETIME
in MAXDB mode".
sql/sql_yacc.yy:
Changed rule for "type" token. Now we have one branch with optional
length specification for TIMESTAMP type instead of two separate branches.
This also gives us consistent behavior for TIMETSAMP in MAXDB mode.
mysql-test/r/ndb_index_ordered.result:
wl-1442 fix Time. adds new type id 25
mysql-test/t/ndb_index_ordered.test:
wl-1442 fix Time. adds new type id 25
ndb/include/kernel/signaldata/DictTabInfo.hpp:
wl-1442 fix Time. adds new type id 25
ndb/include/ndbapi/NdbDictionary.hpp:
wl-1442 fix Time. adds new type id 25
ndb/include/util/NdbSqlUtil.hpp:
wl-1442 fix Time. adds new type id 25
ndb/src/common/util/NdbSqlUtil.cpp:
wl-1442 fix Time. adds new type id 25
ndb/src/ndbapi/NdbDictionary.cpp:
wl-1442 fix Time. adds new type id 25
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
wl-1442 fix Time. adds new type id 25
ndb/test/include/NdbSchemaOp.hpp:
wl-1442 fix Time. adds new type id 25
ndb/tools/restore/consumer.cpp:
wl-1442 fix Time. adds new type id 25
sql/ha_ndbcluster.cc:
wl-1442 fix Time. adds new type id 25
mysql-test/r/ndb_index_ordered.result:
wl-1442 fix Date. reuses old unused Timespec type id
mysql-test/t/ndb_index_ordered.test:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/include/kernel/signaldata/DictTabInfo.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/include/ndbapi/NdbDictionary.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/include/util/NdbSqlUtil.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/src/common/util/NdbSqlUtil.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/src/ndbapi/NdbDictionary.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/test/include/NdbSchemaOp.hpp:
wl-1442 fix Date. reuses old unused Timespec type id
ndb/tools/restore/consumer.cpp:
wl-1442 fix Date. reuses old unused Timespec type id
sql/ha_ndbcluster.cc:
wl-1442 fix Date. reuses old unused Timespec type id
tables that support multiple index types. (Bug #7235)
sql/sql_show.cc:
Always output 'TYPE <indextype>' for indexes on tables with multiple index types
mysql-test/r/ctype_utf8.result:
Fix results for test
with a number of decimals specified. (Bug #7361)
mysql-test/t/type_float.test:
Add test for maximum values of float and double columns with number of decimals
mysql-test/r/type_float.result:
Add results for new test
mysql-test/r/type_float.result.es:
Add results for new test
sql/field.cc:
Use ::store(double nr) from ::store(longlong nr) so we get the same range checking
The problem was that when a QUICK_SELECT access method is chosen,
test_if_skip_sort_order() discovered that the index being used
by the quick select will not deliver tuples in sorted order.
In this case test_if_skip_sort_order() tried to change the index
used by the quick select, but it didn't properly set the other
members of the quick select, and especially the range flags of
the ranges in QUICK_SELECT::ranges.
The fix re-invokes the function SQL_SELECT::test_quick_select
to correctly create a valid QUICK_SELECT object.
mysql-test/r/order_by.result:
Added test results.
mysql-test/t/order_by.test:
Added test for BUG#7331.
sql/sql_select.cc:
Fix for BUG#7331.