Handling of large signed/unsigned values was not consistent, so some string functions could return bogus results.
The current fix is to simply patch up the val_str() methods for those string items.
It would be good clean this code up in general, to make similar problems much harder to make. This is left as an exercise for the reader.
mysql-test/r/func_str.result:
Update test results for bug #24947
mysql-test/t/func_str.test:
Add test case for bug #24947
sql/item_strfunc.cc:
Adjust some string function Items' val_str() methods to handle large signed/unsigned arguments properly
into kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build-work
mysql-test/t/grant_cache.test:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/t/query_cache_notembedded.test:
Auto merged
mysql-test/t/rpl_rotate_logs.test:
Auto merged
mysql-test/t/rpl000015.test:
SCCS merged
mysql-test/t/rpl000017.test:
SCCS merged
spatial index
While executing OPTIMIZE TABLE on MyISAM tables the server re-creates the
index file(s) in order to sort them physically by the key. This cannot be
done for R-tree indexes as it makes no sense.
The server was not checking the type of the index and was accessing an
R-tree index as if it was a B-tree.
Fixed by preventing sorting the index file if it contains an R-tree index.
myisam/mi_check.c:
Bug #23578: Corruption prevents Optimize table from working properly with a
spatial index
- disable sorting the index file if it contains an R-tree index.
mysql-test/r/gis-rtree.result:
Bug #23578: Corruption prevents Optimize table from working properly with a
spatial index
- test case
mysql-test/t/gis-rtree.test:
Bug #23578: Corruption prevents Optimize table from working properly with a
spatial index
- test case
As presently PARTITIONS + FEDERATED just doesn't work i added error message
to inform user about that.
Should be enabled again after releted WL's completion.
storage/federated/ha_federated.cc:
partitioning disabled in FEDERATED engine
mysql-test/r/partition_federated.result:
result added
mysql-test/t/partition_federated.test:
test added
If SELECT-part of CREATE VIEW statement contains '\Z',
it is not handled correctly.
The problem was in String::print().
Symbol with code 032 (26) is replaced with '\z',
which is not supported by the lexer.
The fix is to replace the symbol with '\Z'.
mysql-test/r/view.result:
Update result file.
mysql-test/t/view.test:
Add test case for BUG#24293.
sql/sql_string.cc:
We should replace 032 with \Z, since lexer does not understand \z.
into maint1.mysql.com:/data/localhome/msvensson/mysql-5.1-new-maint
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/symlink.test:
Auto merged
include/my_pthread.h:
Manual merge
when REORGANIZE creates new partition, no_subparts for that partition
isn't set right (call handler::set_partitions_defaults always returns 1)
Normally the number of subpartitions should be inherited from the
table.
mysql-test/r/partition.result:
result fixed
mysql-test/t/partition.test:
testcase
sql/sql_partition.cc:
no_subparts is set for newly created partitions
- Move the specific test case to a separate file that is run only
if we have a disabled handler.
mysql-test/r/warnings.result:
Move the test for warning that table type is changed to separate file
as it only occurs when engine is disabled.
mysql-test/t/warnings.test:
Move the test for warning that table type is changed to separate file
as it only occurs when engine is disabled.
mysql-test/r/warnings_engine_disabled.result:
Move the test for warning that table type is changed to separate file
as it only occurs when engine is disabled.
mysql-test/t/warnings_engine_disabled-master.opt:
New BitKeeper file ``mysql-test/t/warnings_engine_disabled-master.opt''
mysql-test/t/warnings_engine_disabled.test:
Move the test for warning that table type is changed to separate file
as it only occurs when engine is disabled.
into polly.local:/home/kaa/src/maint/mysql-5.1-maint
mysql-test/r/sp.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
mysys/typelib.c:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
into polly.local:/tmp/maint/bug24117/my51-bug24117
mysql-test/t/sp.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
mysql-test/r/sp.result:
Manual merge
the UDF
When deleting a user defined function MySQL must remove it from both the
in-memory hash table and the mysql.proc system table.
Finding (and removal therefore) from the internal hash table is case
insensitive (or whatever the default charset is), whereas finding and
removal from the system table is case sensitive.
As a result if you supply a function name that is not in the same character
case to DROP FUNCTION the server will remove the function only from the
in-memory hash table and will keep the row in mysql.proc system table.
This will cause inconsistency between the two structures (that is fixed
only by restarting the server).
Fixed by using the name in the precise case (from the in-memory hash table)
to delete the row in the mysql.proc system table.
mysql-test/r/udf.result:
Bug #15439: UDF name case handling forces DELETE FROM mysql.func to remove
the UDF
- test case
mysql-test/t/udf.test:
Bug #15439: UDF name case handling forces DELETE FROM mysql.func to remove
the UDF
- test case
sql/sql_udf.cc:
Bug #15439: UDF name case handling forces DELETE FROM mysql.func to remove
the UDF
- use the exact function name in deleting from mysql.proc.
into mysql.com:/windows/Linux_space/MySQL/mysql-5.1
mysql-test/r/ndb_read_multi_range.result:
Auto merged
mysql-test/t/ndb_read_multi_range.test:
Auto merged
into siva.hindu.god:/usr/home/tim/m/bk/51
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/symlink.test:
Auto merged
scripts/mysqld_safe.sh:
Auto merged
mysql-test/r/myisam.result:
Manual merge
mysql-test/t/myisam.test:
Manual merge
mysql-test/r/myisam.result:
Fix results file - a test was moved from the .test file, but the results were not updated.
mysql-test/r/symlink.result:
echo End of 4.1 tests while I'm here
mysql-test/t/myisam.test:
echo End of 4.1 tests while I'm here
mysql-test/t/symlink.test:
echo End of 4.1 tests while I'm here
into neptunus.(none):/home/msvensson/mysql/mysql-5.1-maint
client/mysqltest.c:
Auto merged
mysql-test/r/archive.result:
Auto merged
mysql-test/t/archive.test:
SCCS merged
into siva.hindu.god:/usr/home/tim/m/bk/51
client/mysqltest.c:
Auto merged
include/config-win.h:
Auto merged
include/my_global.h:
Auto merged
mysql-test/r/type_ranges.result:
Auto merged
mysql-test/r/type_timestamp.result:
Auto merged
server-tools/instance-manager/guardian.cc:
Auto merged
server-tools/instance-manager/instance.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
include/my_pthread.h:
Manual merge.
mysql-test/r/archive.result:
Manual merge.
mysql-test/t/archive.test:
Manual merge.
Problem:
When creating a temporary field for a temporary table in create_tmp_field_from_field(), a resulting field is created as an exact copy of an original one (in Field::new_field()). However, Field_enum and Field_set contain a pointer (typelib) to memory allocated in the parent table's MEM_ROOT, which under some circumstances may be deallocated later by the time a temporary table is used.
Solution:
Override the new_field() method for Field_enum and Field_set and create a separate copy of the typelib structure in there.
include/typelib.h:
Added copy_typelib() declaration
mysql-test/r/sp.result:
Added a testcase for bug #24117 "server crash on a FETCH with a cursor on a table which is not in the table cache"
mysql-test/t/sp.test:
Added a testcase for bug #24117 "server crash on a FETCH with a cursor on a table which is not in the table cache"
mysys/typelib.c:
Added copy_typelib() definition
sql/field.cc:
Create a copy of the internal 'typelib' structure when copying Field_enum of Field_set objects.
sql/field.h:
Override new_field method in Field_enum (and Field_set) to copy the typelib structure.