Ensure the balanced use of 'x' guards in string comparisons also in the new 5.1 lines.
scripts/make_win_bin_dist:
After-merge fix:
Ensure the balanced use of 'x' guards in string comparisons also in the new 5.1 lines.
tables
In case system doesn't have native pread/pwrite calls (e.g. Windows)
and there is CHECK TABLE runs concurrently with another statement that
reads from a table, the table may be reported as crashed.
This is fixed by locking file descriptor when my_seek is executed on
MyISAM index file and emulated pread/pwrite may be executed concurrently.
Affects MyISAM tables on platforms that do not have native
pread/pwrite calls (e.g. Windows).
No deterministic test case for this bug.
myisam/mi_check.c:
Key file descriptor is shared among threads and mixed set of
my_pread/my_pwrite and my_seek calls is possible. This is not
a problem on systems that have native pread/pwrite calls.
In case system doesn't have native pread/pwrite calls (e.g. Windows)
we must ensure that my_pread/my_pwrite are not executed at the same
time with my_seek. This is done by passing MY_THREADSAFE flag to
my_seek.
mysys/my_seek.c:
On platforms that do not have native pread/pwrite calls (e.g. Windows)
these calls are emulated as follow: lock fd, lseek, read, unlock fd.
In case file descriptor is shared among threads, where one thread
executes my_pread and another thread executes my_seek, we may read
from a wrong position. This may happen because my_seek doesn't lock
fd and thus may be executed by another thread after emulated pread
has done lseek and before it has done read.
To fix problem mentioned above we introduce new flag MY_THREADSAFE to
my_seek, which is meaningful only in case pread/pwrite calls are
emulated. If this flag is set, lseek operation is performed as follow:
lock fd, seek, unlock fd.
so that changes from 5.0 propagate (on merge) into the 5.1 version.
BitKeeper/deleted/.del-make_win_bin_dist-HIDE:
Delete: scripts/make_win_bin_dist-HIDE
scripts/make_win_bin_dist:
Transfer the current contents of the 5.1 version into this file.
This is *no* contents change, its *only* purpose is to ensure that the 5.1 version
of this file depends on the 5.0 version, and changes from 5.0 propagate properly
into 5.1.
- Change from "query_sorted <query>" to "sorted_results"
client/mysqltest.c:
Replace "query_sorted <query>" with the ability to turn
on "one shot result sorting" with the command "sorted_results"
mysql-test/r/mysqltest.result:
Update test and result
mysql-test/t/mysqltest.test:
Update test and result
into adventure.(none):/home/thek/Development/cpp/bug27415/my51-bug27415
mysql-test/r/sp-vars.result:
Auto merged
mysql-test/t/sp-vars.test:
Auto merged
- Problem was reported as a SP variable using itself as
right value inside SUBSTR caused corruption of data.
- This bug could not be verified in either 5.0bk or 5.1bk
- Added test case to prevent future regressions.
mysql-test/r/sp-vars.result:
Added test case for a reported regression which couldn't be
verified.
mysql-test/t/sp-vars.test:
Added test case for a reported regression which couldn't be
verified.
(Bug#26338 "events_bugs.test fail on Debian")
mysql-test/r/events_bugs.result:
Update results.
mysql-test/t/events_bugs.test:
Make a stab at fixing events_bugs.test failure on Debian.
The problem is purely in the race inherent in the test case: an
event that was started doesn't go away fast enough and clutters the
processlist. This patch remove the part of the event that
we can not wait on synchronously (there is no table 'hashed_num'
referenced anywhere).
open bug report, reproduced in the runtime team tree).
sql/event_data_objects.cc:
Make a stub at fixing a race in event_bugs.test under valgrind:
read of uninitialized byte in SHOW PROCESSLIST from an event thread.
into pilot.blaudden:/home/msvensson/mysql/mysql-5.1-new-maint
include/my_time.h:
Auto merged
mysql-test/r/date_formats.result:
Auto merged
mysql-test/r/func_sapdb.result:
Auto merged
mysql-test/r/ps_2myisam.result:
Auto merged
mysql-test/r/ps_3innodb.result:
Auto merged
mysql-test/r/ps_4heap.result:
Auto merged
mysql-test/r/ps_5merge.result:
Auto merged
mysql-test/r/ps_7ndb.result:
Auto merged
mysql-test/r/strict.result:
Auto merged
mysql-test/r/type_datetime.result:
Auto merged
mysql-test/t/date_formats.test:
Auto merged
mysql-test/t/func_sapdb.test:
Auto merged
mysql-test/t/type_date.test:
Auto merged
mysql-test/t/type_datetime.test:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.h:
Auto merged
sql/my_decimal.cc:
Auto merged
sql/my_decimal.h:
Auto merged
sql/protocol.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql-common/my_time.c:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_show.cc:
Auto merged
sql/structs.h:
Auto merged
sql/tztime.cc:
Auto merged
sql/tztime.h:
Auto merged
sql/unireg.cc:
Auto merged
mysql-test/r/type_date.result:
Use local
sql/field.cc:
Use local
sql/item_cmpfunc.cc:
Use local
ul
sql/item_timefunc.cc:
Use local
sql/item_timefunc.h:
Use local
sql/mysql_priv.h:
Use local
sql/protocol.cc:
Use local
sql/time.cc:
Use local
into linux-st28.site:/home/martin/mysql/src/5.0o-bug27573
mysql-test/r/func_group.result:
Auto merged
mysql-test/t/func_group.test:
bug#27573: hand merged test case
into pilot.blaudden:/home/msvensson/mysql/mysql-5.1-new-maint
client/mysqldump.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/mysqldump.result:
Use local
Made year 2000 handling more uniform
Removed year 2000 handling out from calc_days()
The above removes some bugs in date/datetimes with year between 0 and 200
Now we get a note when we insert a datetime value into a date column
For default values to CREATE, don't give errors for warning level NOTE
Fixed some compiler failures
Added library ws2_32 for windows compilation (needed if we want to compile with IOCP support)
Removed duplicate typedef TIME and replaced it with MYSQL_TIME
Better (more complete) fix for: Bug#21103 "DATE column not compared as DATE"
Fixed properly Bug#18997 "DATE_ADD and DATE_SUB perform year2K autoconversion magic on 4-digit year value"
Fixed Bug#23093 "Implicit conversion of 9912101 to date does not match cast(9912101 as date)"
include/my_time.h:
Removed not used define YY_MAGIC_BELOW
Added prototype for year_2000_handling()
mysql-test/r/date_formats.result:
Updated results (fixed bug in date_format() with year < 99
mysql-test/r/func_sapdb.result:
Added more testing of make_date()
mysql-test/r/ps_2myisam.result:
Now we get a note when we insert a datetime value into a date column
mysql-test/r/ps_3innodb.result:
Now we get a note when we insert a datetime value into a date column
mysql-test/r/ps_4heap.result:
Now we get a note when we insert a datetime value into a date column
mysql-test/r/ps_5merge.result:
Now we get a note when we insert a datetime value into a date column
mysql-test/r/ps_7ndb.result:
Now we get a note when we insert a datetime value into a date column
mysql-test/r/strict.result:
zero-year in str_to_date() throws warning in strict
mysql-test/r/type_date.result:
Added test for date conversions
mysql-test/r/type_datetime.result:
Added testcase for datetime to date conversion.
mysql-test/t/date_formats.test:
Added testing of dates < 200
mysql-test/t/func_sapdb.test:
More testing of makedate()
mysql-test/t/type_date.test:
Added test for date conversions
mysql-test/t/type_datetime.test:
Added testcase for datetime to date conversion
sql/field.cc:
Give note if we insert a datetime value in a date field
Don't give notes if we are doing internal test conversions (like from convert_constant_item())
More documentation (store functions can now return '3' to inform that the function did return a NOTE (not warning or error))
Revert some changes in Field_newdate::store() to get more optimal code
Field::set_warning() will now ignore notes if CHECK_FIELD_IGNORE is set.
New parameters to make_truncated_value_warning()
sql/field.h:
Give note if we insert a datetime value in a date field
Don't give notes if we are doing internal test conversions (like from convert_constant_item())
More documentation (store functions can now return '3' to inform that the function did return a NOTE (not warning or error))
Revert some changes in Field_newdate::store() to get more optimal code
Field::set_warning() will now ignore notes if CHECK_FIELD_IGNORE is set.
New parameters to make_truncated_value_warning()
sql/item.cc:
Give note if we insert a datetime value in a date field
Don't give notes if we are doing internal test conversions (like from convert_constant_item())
More documentation (store functions can now return '3' to inform that the function did return a NOTE (not warning or error))
Revert some changes in Field_newdate::store() to get more optimal code
Field::set_warning() will now ignore notes if CHECK_FIELD_IGNORE is set.
New parameters to make_truncated_value_warning()
sql/item.h:
TIME -> MYSQL_TIME
sql/item_cmpfunc.cc:
Don't print notes in convert_constant_item()
sql/item_func.h:
TIME -> MYSQL_TIME
sql/item_timefunc.cc:
New parameters to make_truncated_value_warning()
Moved year 2000 handling out from calc_days()
sql/item_timefunc.h:
TIME -> MYSQL_TIME
sql/my_decimal.cc:
TIME -> MYSQL_TIME
sql/my_decimal.h:
TIME -> MYSQL_TIME
sql/mysql_priv.h:
Added error level to make_truncated_value_warning()
sql/protocol.cc:
TIME -> MYSQL_TIME
sql/protocol.h:
TIME -> MYSQL_TIME
sql/sp.cc:
TIME -> MYSQL_TIME
sql/sql_base.cc:
Make testing of result value of save_in_field() uniform
sql/sql_class.h:
TIME -> MYSQL_TIME
sql/sql_show.cc:
TIME -> MYSQL_TIME
sql/structs.h:
TIME -> MYSQL_TIME
sql/time.cc:
Added error level to make_truncated_value_warning()
sql/tztime.cc:
TIME -> MYSQL_TIME
sql/tztime.h:
TIME -> MYSQL_TIME
sql/unireg.cc:
For default values to CREATE, don't give errors for warning level NOTE
(Fixed failed CREATE when we give a datetime value to a date field)
sql-common/my_time.c:
Added year_2000_handling()
Removed year 2000 handling from calc_daynr()
into pilot.blaudden:/home/msvensson/mysql/mysql-5.1-new-maint
configure.in:
Auto merged
include/my_global.h:
Auto merged
sql/item_func.cc:
Auto merged
strings/strtod.c:
Auto merged
- mysqldump generated output that set OLD_SQL_MODE twice, to different values
(for triggers), or not at all (for routines) in some cases.
client/mysqldump.c:
Only save SQL_MODE in dump_triggers if in --compact mode. Otherwise,
it's already been saved in write_header(). Likewise for dumpe_routines,
where it was never saved.
mysql-test/r/mysqldump.result:
mysqldump output has subtly changed. Adjust test-results. This also shows
OLD_SQL_MODE is always set exactly once now
- Since isinf() portability across various platforms and
compilers is a complicated question, we should not use
it directly. Instead, the my_isinf() macro should be used,
which is defined as an alias to the system-defined isinf()
if it is safe to use, or a workaround implementation otherwise
configure.in:
Added a check to define HAVE_ISINF only if it can be used
in C++ code as well.
include/my_global.h:
Define my_isinf() as an alias to isinf(), if it is available
in both C and C++ code. Otherwise, define it to a workaround
implementation.
sql/item_func.cc:
Replaced isinf() with my_isinf().
strings/strtod.c:
Replaced isinf() with my_isinf().