into mysql.com:/home/psergey/mysql-5.1-merge
BitKeeper/deleted/.del-mysqld.cc.rej:
Auto merged
mysql-test/r/range.result:
Auto merged
mysql-test/t/range.test:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_list.h:
Auto merged
mysql-test/r/subselect.result:
Manual merge
mysql-test/t/subselect.test:
Manual merge
sql/opt_range.cc:
Manual merge
into mysql.com:/home/ram/work/b26359/b26359.5.0
mysql-test/r/strict.result:
Auto merged
mysql-test/t/strict.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
into mysql.com:/home/ram/work/b26359/b26359.5.1
mysql-test/r/strict.result:
Auto merged
mysql-test/t/strict.test:
Auto merged
mysql-test/r/type_date.result:
merging
sql/field.cc:
merging
sql/field.h:
merging
#27176: Assigning a string to an year column has unexpected results
#26359: Strings becoming truncated and converted to numbers under STRICT mode
Problems:
1. storing a string to an integer field we don't check
if strntoull10rnd() returns MY_ERRNO_EDOM error.
Fix: check for MY_ERRNO_EDOM.
2. storing a string to an year field we use my_strntol() function.
Fix: use strntoull10rnd() instead.
mysql-test/r/strict.result:
Fix for bugs
#27176: Assigning a string to an year column has unexpected results
#26359: Strings becoming truncated and converted to numbers under STRICT mode
- test result.
mysql-test/r/type_date.result:
Fix for bugs
#27176: Assigning a string to an year column has unexpected results
#26359: Strings becoming truncated and converted to numbers under STRICT mode
- test result.
mysql-test/r/type_year.result:
Fix for bugs
#27176: Assigning a string to an year column has unexpected results
#26359: Strings becoming truncated and converted to numbers under STRICT mode
- test result.
mysql-test/t/strict.test:
Fix for bugs
#27176: Assigning a string to an year column has unexpected results
#26359: Strings becoming truncated and converted to numbers under STRICT mode
- test case.
mysql-test/t/type_year.test:
Fix for bugs
#27176: Assigning a string to an year column has unexpected results
#26359: Strings becoming truncated and converted to numbers under STRICT mode
sql/field.cc:
Fix for bugs
#27176: Assigning a string to an year column has unexpected results
#26359: Strings becoming truncated and converted to numbers under STRICT mode
- Field_num::get_int() method introduced. It converts a string to integer
then check errors and bounds.
- similar Field_tiny::store(const char...), Field_short::store(const char...),
Field_medium::store(const char...), Field_long::store(const char...)
rewritten, now they just call Field_num::get_int() then store value returned.
- Field_num::check_int() simplified.
- Field_year::store(const char...) now uses strntoull10rnd() and properly checks
errors returned.
sql/field.h:
Fix for bugs
#27176: Assigning a string to an year column has unexpected results
#26359: Strings becoming truncated and converted to numbers under STRICT mode
- check_int() moved to Field_num.
- get_int() introduced.
into siva.hindu.god:/home/tsmith/m/bk/maint/51
mysql-test/include/gis_generic.inc:
Auto merged
mysql-test/r/archive_gis.result:
Auto merged
mysql-test/r/innodb_gis.result:
Auto merged
mysql-test/r/ndb_gis.result:
Auto merged
BitKeeper/deleted/.del-bdb_gis.result:
Auto merged
sql/log.cc:
Auto merged
mysql-test/r/archive_gis.result:
update test result
mysql-test/r/bdb_gis.result:
update test result
mysql-test/r/innodb_gis.result:
update test result
mysql-test/r/ndb_gis.result:
update test result
into siva.hindu.god:/home/tsmith/m/bk/maint/51
mysql-test/include/gis_generic.inc:
Auto merged
mysql-test/r/archive_gis.result:
Auto merged
mysql-test/r/innodb_gis.result:
Auto merged
mysql-test/r/ndb_gis.result:
Auto merged
sql/log.cc:
Auto merged
BitKeeper/deleted/.del-bdb_gis.result:
Auto merged
- Add primary key to test table, so NDB with binlog doesn't complain
- Add extra results for bdb_gis.result
mysql-test/include/gis_generic.inc:
Update test for bug #24563 (MBROverlaps does not seem to function propertly.):
- Add primary key to test table, so NDB with binlog doesn't complain
mysql-test/r/archive_gis.result:
update test results
mysql-test/r/bdb_gis.result:
update test results
mysql-test/r/innodb_gis.result:
update test results
mysql-test/r/ndb_gis.result:
update test results
Thanks to Martin Friebe for finding and submitting a fix for this bug!
A table with maximum number of key segments and maximum length key name
would have a corrupted .frm file, due to an incorrect calculation of the
complete key length. Now the key length is computed correctly (I hope) :-)
MyISAM would reject a table with the maximum number of keys and the maximum
number of key segments in all keys. It would allow one less than this total
maximum. Now MyISAM accepts a table defined with the maximum. (This is a
very minor issue.)
myisam/mi_open.c:
change >= to > in a comparison (i.e., error only if key_parts_in_table
really is greater than MAX_KEY * MAX_KEY_SEG)
mysql-test/r/create.result:
Add test results for bug #26642 (create index corrupts table definition in .frm)
mysql-test/t/create.test:
Add test case for bug #26642 (create index corrupts table definition in .frm)
sql/table.cc:
In create_frm(), fix formula for key_length; it was too small by (keys * 2) bytes
- Added PARAM::alloced_sel_args where we count the # of SEL_ARGs
created by SEL_ARG tree cloning operations.
- Made the range analyzer to shortcut and not do any more cloning
if we've already created MAX_SEL_ARGS SEL_ARG objects in cloning.
- Added comments about space complexity of SEL_ARG-graph
representation.
mysql-test/r/range.result:
BUG#26624: Testcase
mysql-test/t/range.test:
BUG#26624: Testcase
into chilla.local:/home/mydev/mysql-5.1-axmrg
mysql-test/r/heap_btree.result:
Auto merged
mysql-test/r/myisam.result:
Auto merged
mysql-test/t/heap_btree.test:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysys/thr_alarm.c:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/item_func.cc:
Auto merged
storage/heap/hp_write.c:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
storage/myisam/mi_range.c:
Auto merged
storage/myisam/mi_search.c:
Auto merged
storage/ndb/include/ndbapi/NdbIndexScanOperation.hpp:
Auto merged
storage/ndb/include/ndbapi/NdbScanOperation.hpp:
Auto merged
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
Auto merged
sql/mysqld.cc:
Manual merge
into chilla.local:/home/mydev/mysql-5.1-axmrg
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_servers.h:
Auto merged
storage/federated/ha_federated.cc:
Auto merged
storage/heap/ha_heap.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
sql/sql_servers.cc:
Manual merge
Problem: SOUNDEX returned an invalid string for international
characters in multi-byte character sets.
For example: for a Chinese/Japanese 3-byte long character
_utf8 0xE99885 it took only the very first byte 0xE9,
put it into the outout string and then appended with three
DIGIT ZERO characters, so the result was 0xE9303030 - which
is an invalide utf8 string.
Fix: make SOUNDEX() multi-byte aware and - put only complete
characters into result, thus return only valid strings.
This patch also makes SOUNDEX() compatible with UCS2.
mysql-test/r/ctype_ucs.result:
Adding tests
mysql-test/r/ctype_utf8.result:
Adding tests
mysql-test/t/ctype_ucs.test:
Adding tests
mysql-test/t/ctype_utf8.test:
Adding tests
sql/item_strfunc.cc:
Making soundex multi-byte aware.
Geometry fields have a result type string and a
special subclass to cater for the differences
between them and the base class (just like
DATE/TIME).
When creating temporary tables for results of
functions that return results of type GEOMETRY
we must construct fields of the derived class
instead of the base class.
Fixed by creating a GEOMETRY field (Field_geom)
instead of a generic BLOB (Field_blob) in temp
tables for the results of GIS functions that
have GEOMETRY return type (Item_geometry_func).
mysql-test/r/gis.result:
Bug #27300: test case
mysql-test/t/gis.test:
Bug #27300: test case
sql/item.cc:
Bug #27300:
Create a GEOMETRY field (Field_geom) instead of
a generic BLOB (Field_blob) in temp tables for
the results of GIS functions (Item_geometry_func).
sql/sql_select.cc:
Bug #27300:
Create a GEOMETRY field (Field_geom) instead of
a generic BLOB (Field_blob) in temp tables for
the results of GIS functions (Item_geometry_func).
- Turn off verification of peer if both ca_path and ca_file is null
i.e from only passing --ssl-key=<client_key> and --ssl-cert=<client_cert>
to the mysql utility programs.
The server will authenticate the client accoring to GRANT tables
but the client won't authenticate the server
mysql-test/r/openssl_1.result:
Update result file
mysql-test/t/openssl_1.test:
Test that it's possible to connect with --ssl-ca set to /dev/null
vio/viosslfactories.c:
Turn off verification of peer if both ca_file and ca_path is NULL
into chilla.local:/home/mydev/mysql-5.0-axmrg
myisam/mi_range.c:
Auto merged
myisam/mi_search.c:
Auto merged
mysql-test/r/heap_btree.result:
Auto merged
mysql-test/t/myisam.test:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/item_func.cc:
Auto merged
mysql-test/r/myisam.result:
Manual merge from 4.1
mysql-test/t/heap_btree.test:
Manual merge from 4.1
into pilot.blaudden:/home/msvensson/mysql/mysql-5.1-maint
mysql-test/r/func_str.result:
Auto merged
mysql-test/t/func_str.test:
Auto merged
sql/item_strfunc.cc:
Auto merged
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
mysql-test/r/func_str.result:
Auto merged
mysql-test/t/func_str.test:
Auto merged
sql/item_strfunc.cc:
Auto merged
into pilot.blaudden:/home/msvensson/mysql/bug25197/my51-bug25197
mysql-test/r/func_str.result:
Auto merged
mysql-test/t/func_str.test:
Auto merged
sql/item_strfunc.cc:
Auto merged
- Add extra test case from bug#27073
- Change "if" to be optimized for count > 0
mysql-test/r/func_str.result:
Add test case from bug#27073
mysql-test/t/func_str.test:
Add test case from bug#27073
sql/item_strfunc.cc:
Change the if statemnet to be optimized for the normal case where count > 0
If a set function with a outer reference s(outer_ref) cannot be aggregated
the outer query against which the reference has been resolved then MySQL
interpretes s(outer_ref) in the same way as it would interpret s(const).
Hovever the standard requires throwing an error in this situation.
Added some code to support this requirement in ansi mode.
Corrected another minor bug in Item_sum::check_sum_func.
mysql-test/r/subselect.result:
Added a test case for bug #27348.
mysql-test/t/subselect.test:
Added a test case for bug #27348.
sql/item_sum.cc:
Fixed bug #27348.
If a set function with a outer reference s(outer_ref) cannot be aggregated
the outer query against which the reference has been resolved then MySQL
interprets s(outer_ref) in the same way as it would interpret s(const).
Hovever the standard requires throwing an error in this situation.
Added some code to support this requirement in ansi mode.
Corrected another minor bug in Item_sum::check_sum_func.
mysql-test/r/sp.result:
Corrected error in test case:
- 1.84e+19 converted to unsigned bigint should be converted to
1840000000000000000 < 18446744073709551615.
- This fails on windows and the failing test is extracted to a new
bugreport.
- mysqldump executes a SHOW CREATE VIEW statement to generate the text
that it outputs. When the function name is retrieved it's database
name is unconditionally prepended. This change causes the function's
database name to be prepended only when it was used to define the
function.
mysql-test/r/information_schema.result:
Bug#23491 MySQLDump prefix function call in a view by database name
- Updated Results.
mysql-test/r/mysqldump.result:
Bug#23491 MySQLDump prefix function call in a view by database name
- Added new results.
mysql-test/r/sp-code.result:
Bug#23491 MySQLDump prefix function call in a view by database name
- Updated Results.
mysql-test/r/udf.result:
Bug#23491 MySQLDump prefix function call in a view by database name
- Updated Results.
mysql-test/t/mysqldump.test:
Bug#23491 MySQLDump prefix function call in a view by database name
- Added new testcase.
sql/item_func.cc:
Bug#23491 MySQLDump prefix function call in a view by database name
- Use new m_explicit_name member when deciding whether or not to prepend
the db name while building the function name.
sql/sp.cc:
Bug#23491 MySQLDump prefix function call in a view by database name
- Use new sp_name constructor.
sql/sp_head.h:
Bug#23491 MySQLDump prefix function call in a view by database name
- Add m_explicit_name member to sp_name object.
- Redefined sp_name constructor to include new member.
sql/sql_yacc.yy:
Bug#23491 MySQLDump prefix function call in a view by database name
- Use new sp_name constructors.
When creating a temporary table the concise column type
of a string expression is decided based on its length:
- if its length is under 512 it is stored as either
varchar or char.
- otherwise it is stored as a BLOB.
There is a flag (convert_blob_length) to create_tmp_field
that, when >0 allows to force creation of a varchar if the
max blob length is under convert_blob_length.
However it must be verified that convert_blob_length
(settable through a SQL option in some cases) is
under the maximum that can be stored in a varchar column.
While performing that check for expressions in
create_tmp_field_from_item the max length of the blob was
used instead. This causes blob columns to be created in the
heap temp table used by GROUP_CONCAT (where blobs must not
be created in the temp table because of the constant
convert_blob_length that is passed to create_tmp_field() ).
And since these blob columns are not expected in that place
we get wrong results.
Fixed by checking that the value of the flag variable is
in the limits that fit into VARCHAR instead of the max length
of the blob column.
mysql-test/r/func_gconcat.result:
Bug #26815: test case
mysql-test/t/func_gconcat.test:
Bug #26815: test case
sql/item_sum.cc:
Bug #26815: wrong length was checked
sql/sql_select.cc:
Bug #26815: wrong length was checked
into chilla.local:/home/mydev/mysql-5.1-bug24985
mysql-test/r/heap_btree.result:
Auto merged
mysql-test/t/heap_btree.test:
Auto merged
storage/heap/ha_heap.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
rows event):
Adding a after image COLS bitmap to Update_rows_log_event (for telling
what columns that are present in the after image of each row update).
Also fixing case where Rows_log_event length was not correctly computed
(happened when the number of columns in a table was more than 251).
mysql-test/r/rpl_row_inexist_tbl.result:
Result change.
sql/log_event.cc:
Extending Rows_log_event with two new fields: m_bitbuf_ai and m_cols_ai. These fields are only used for the Update_rows_log_event.
Adding implementation of Update_rows_log_event destructor.
Using new after image fields inside the Update_rows_log_event.
Factoring out common constructor bodies into Update_rows_log_event::init()
function.
Fixing case where length of Rows_log_event was not correctly computed (for
tables with more than 251 columns).
sql/log_event.h:
Moving implementation of Rows_log_event::get_data_size() into .cc file.
Adding Update_rows_log_event constructor accepting both before image
and after image COLS vector.
Adding Update_rows_log_vector destructor.
Adding fields m_bitbuf_ai and m_cols_ai to Rows_log_event.
Fixing is_valid() to look at m_cols_ai as well.
into chilla.local:/home/mydev/mysql-5.0-bug24985
mysql-test/r/heap_btree.result:
Auto merged
sql/ha_heap.cc:
Auto merged
mysql-test/t/heap_btree.test:
Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
causes incorrect duplicate entries
Manual merge from 4.1
causes incorrect duplicate entries
Keys for BTREE indexes on ENUM and SET columns of MEMORY tables
with character set UTF8 were computed incorrectly. Many
different column values got the same key value.
Apart of possible performance problems, it made unique indexes
of this type unusable because it rejected many different
values as duplicates.
The problem was that multibyte character detection was tried
on the internal numeric column value. Many values were not
identified as characters. Their key value became blank filled.
Thanks to Alexander Barkov and Ramil Kalimullin for the patch,
which sets the character set of ENUM and SET key segments to
the pseudo binary character set.
mysql-test/r/heap_btree.result:
Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
causes incorrect duplicate entries
Added test result.
mysql-test/t/heap_btree.test:
Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
causes incorrect duplicate entries
Added test.
sql/ha_heap.cc:
Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
causes incorrect duplicate entries
Set key segment charset to my_charset_bin for ENUM and SET
columns.
Fix: adding namespace reference into "mysql --xml" output,
to make it work similary to "mysqldump --xml".
client/mysql.cc:
Adding namespace reference.
mysql-test/r/client_xml.result:
Fixing test results