This fix is cancellation of ChangeSet
1.2329 05/07/12 08:35:30 reggie@linux.site +8 -0
Bug 7142 Show Fields from fails using Borland's dbExpress interface
The reason is we can't fix bug#7142 without
breaking of existing applications/APIs that worked fine with earlier 4.1
bug 7142 is fixed in 5.0
mysql-test/r/ps_1general.result:
Bug #12817 SHOW STATUS now blob fields
mysql-test/r/ps_2myisam.result:
Bug #12817 SHOW STATUS now blob fields
mysql-test/r/ps_3innodb.result:
Bug #12817 SHOW STATUS now blob fields
mysql-test/r/ps_4heap.result:
Bug #12817 SHOW STATUS now blob fields
mysql-test/r/ps_5merge.result:
Bug #12817 SHOW STATUS now blob fields
sql/item.cc:
Bug #12817 SHOW STATUS now blob fields
sql/sql_show.cc:
Bug #12817 SHOW STATUS now blob fields
tests/mysql_client_test.c:
Bug #12817 SHOW STATUS now blob fields
gzdopen() because the file itself was only opened for writing (and truncated),
and some libc implementations (like SCO) don't like to do a fdopen(..., "a") on
a fd that was not opened using O_APPEND.
sql/examples/ha_archive.cc:
Use "wb" instead of "ab" since we just opened this file for writing
Fixed bug #12885.
Forced inheritence of the maybe_null flag for the expressions
containing GROUP BY attributes in selects with ROLLUP.
olap.test, olap.result:
Added test case for bug #12885.
mysql-test/r/olap.result:
Added test case for bug #12885.
mysql-test/t/olap.test:
Added test case for bug #12885.
sql/sql_select.cc:
Fixed bug #12885.
Forced inheritence of the maybe_null flag for the expressions
containing GROUP BY attributes in selects with ROLLUP.
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
sql/item_sum.cc:
Auto merged
into selena.:H:/MYSQL/src/#05588-mysql-4.1
BitKeeper/deleted/.del-lib_vio.c~d779731a1e391220:
Auto merged
BitKeeper/deleted/.del-mini_client.cc~8677895ec8169183:
Auto merged
include/violite.h:
Auto merged
sql/net_serv.cc:
Auto merged
vio/vio.c:
Auto merged
vio/viosocket.c:
Auto merged
include/my_global.h:
SCCS merged
into mysql.com:/usr/home/bar/mysql-4.1.b12829
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
sql/item_sum.cc:
Auto merged
Added test cases for bug #12863.
item_sum.cc, item_sum.h:
Fixed bug #12863.
Added a flag to Item_func_group_concat set to FALSE after
concatenation of the first element of a group.
sql/item_sum.h:
Fixed bug #12863.
Added a flag to Item_func_group_concat set to FALSE after
concatenation of the first element of a group.
sql/item_sum.cc:
Fixed bug #12863.
Added a flag to Item_func_group_concat set to FALSE after
concatenation of the first element of a group.
mysql-test/t/func_gconcat.test:
Added test cases for bug #12863.
mysql-test/r/func_gconcat.result:
Added test cases for bug #12863.
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
The classes Item_func_between, Item_func_if, Item_func_in are modified.
Item_func_between/in objects can represent now [NOT]BETWEEN/IN expressions.
The class Item_func_opt_neg is added to factor out the functionality
common for the modified classes Item_func_between and Item_func_in.
item_cmpfunc.cc:
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
Added Item_func_between::fix_fields(), Item_func_if::fix_fields(),
Item_func_in::fix_fields(). They correct generic calculation of
the not_null_tables attribute when it is needed.
Modified Item_func_between::val_int(), Item_func_in::val_int().
opt_range.cc:
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
The function get_mm_tree() is modified. There cannot be NOT before
BETWEEN/IN anymore. Rather Item_func_between/in objects can represent
now [NOT]BETWEEN/IN expressions.
sql_yacc.yy:
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
Item_func_between/in objects can represent now [NOT]BETWEEN/IN expresions.
join_outer.result:
Fixed some testcases results (bugs #12101, #12102)
join_outer.test:
Added testcases for bugs #12101, #12102
mysql-test/t/join_outer.test:
Added testcases for bugs #12101, #12102
mysql-test/r/join_outer.result:
Fixed some testcases results (bugs #12101, #12102)
sql/sql_yacc.yy:
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
Item_func_between/in objects can represent now [NOT]BETWEEN/IN expresions.
sql/opt_range.cc:
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
The function get_mm_tree() is modified. There cannot be NOT before
BETWEEN/IN anymore. Rather Item_func_between/in objects can represent
now [NOT]BETWEEN/IN expressions.
sql/item_cmpfunc.cc:
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
Added Item_func_between::fix_fields(), Item_func_if::fix_fields(),
Item_func_in::fix_fields(). They correct generic calculation of
the not_null_tables attribute when it is needed.
Modified Item_func_between::val_int(), Item_func_in::val_int().
sql/item_cmpfunc.h:
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
for some expressions.
The classes Item_func_between, Item_func_if, Item_func_in are modified.
Item_func_between/in objects can represent now [NOT]BETWEEN/IN expressions.
The class Item_func_opt_neg is added to factor out the functionality
common for the modified classes Item_func_between and Item_func_in.
adding test case.
item_cmpfunc.cc:
Bug#12611
ESCAPE + LIKE do not work when the escape char is a multibyte one
Additional fix for 8bit character sets:
escape character must be converted into
operation character set.
sql/item_cmpfunc.cc:
Bug#12611
ESCAPE + LIKE do not work when the escape char is a multibyte one
Additional fix for 8bit character sets:
escape character must be converted into
operation character set.
mysql-test/t/func_like.test:
adding test case.
mysql-test/r/func_like.result:
adding test case.
Bug 12611 : ESCAPE + LIKE do not work when the escape char is a multibyte one
Forgot to commit this file in the previous changeset,
together with other files.
sql/item_cmpfunc.h:
Bug 12611 : ESCAPE + LIKE do not work when the escape char is a multibyte one
Forgot to commit this file in the previous changeset,
together with other files.
into sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
sql/mysql_priv.h:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_cache.h:
Auto merged
configure.in:
merge
mysql-test/r/fulltext_var.result:
merge
sql/mysqld.cc:
merge
sql/set_var.cc:
merge
sql/mysql_priv.h:
initialisation moved to mysqld.cc
sql/mysqld.cc:
initialisation moved to mysqld.cc
sql/sql_cache.cc:
support of concurent query cache resizing:
- resizing made atomic
- check stack size after each quard mutex lock
sql/sql_cache.h:
initialisation moved to mysqld.cc
removed uneed parameter (now it is always under guard mutex protection or called from destruction)
bug#9948
changed client-charset behavior in 4.1.x libmysql, which issue BC prob
after review fixes
sql/mysql_priv.h:
bug#9948
changed client-charset behavior in 4.1.x libmysql, which issue BC prob
after review fixes
sql/mysqld.cc:
bug#9948
changed client-charset behavior in 4.1.x libmysql, which issue BC prob
after review fixes
Handle systems like default FC4 where 127.0.0.1 doesn't always map to 'localhost' first.
(Bug #11822)
sql/hostname.cc:
Short-circuit ip_to_hostname() lookup for INADDR_LOOPBACK to allways return 'localhost'.
sql/sql_parse.cc:
Push special handling of 127.0.0.1 into ip_to_hostname().
into mysql.com:/usr/home/bar/mysql-4.1.b12363
mysql-test/t/variables.test:
Auto merged
sql/set_var.cc:
Auto merged
mysql-test/r/variables.result:
SCCS merged
into mysql.com:/home/dlenev/src/mysql-4.1-bg12423
sql/mysqld.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
mysql-test/r/grant2.result:
Manual merge.
mysql-test/t/grant2.test:
Manual merge.
multi-threaded environment".
To avoid deadlocks between several simultaneously run account management
commands (particularly between FLUSH PRIVILEGES/SET PASSWORD and GRANT
commands) we should always take table and internal locks during their
execution in the same order. In other words we should first open and lock
privilege tables and only then obtain acl_cache::lock/LOCK_grant locks.
mysql-test/r/grant2.result:
Added test for bug #12423 "Deadlock when doing FLUSH PRIVILEGES and GRANT in
multi-threaded environment".
mysql-test/t/grant2.test:
Added test for bug #12423 "Deadlock when doing FLUSH PRIVILEGES and GRANT in
multi-threaded environment".
sql/mysqld.cc:
acl_init/grant_init() are now used only at server start up so they always
allocate temporary THD object and don't need argument for passing pointer
to it.
sql/sql_acl.cc:
To avoid deadlocks between several simultaneously run account management
commands (particularly between FLUSH PRIVILEGES/SET PASSWORD and GRANT
commands) we should always take table and internal locks during their
execution in the same order. In other words we should first open and lock
privilege tables and only then obtain acl_cache::lock/LOCK_grant locks.
Changed acl_reload()/grant_reload() and change_password()/update_user_table()
in such way that they obey this principle. Now in acl_reload()/grant_reload()/
change_password() we open and lock privilege tables, then obtain internal
locks and then call acl_load()/grant_load()/update_user_table() functions to
do actual loading or updating.
sql/sql_acl.h:
acl_init/grant_init() are now used only at server start up so they always
allocate temporary THD object and don't need argument for passing pointer
to it. acl_reload()/grant_reload() now are able to report about their
success or failure through return value.
sql/sql_parse.cc:
If reload_acl_and_cache() is called from SIGHUP handler we have to
allocate temporary THD for execution of acl_reload()/grant_reload().
on Solaris even though it is available, and declare it ourselves in
that case. (Bug #7156)
configure.in:
Add test for madvise() being declared when C++ compiler is used.
include/my_global.h:
Handle madvise() being available but not declared in C++
isam/extra.c:
Fix typo in define test
myisam/mi_extra.c:
Fix typo in define test
sql/examples/ha_tina.cc:
Test that we have madvise() before trying to call it.
rpl_replicate_do.result:
New test case
sql_parse.cc:
All SET statements should be executed by slave thd
rpl_replicate_do.test:
New test case
mysql-test/t/rpl_replicate_do.test:
Added test
sql/sql_parse.cc:
All SET commands should be executed by slave thd
mysql-test/r/rpl_replicate_do.result:
New test case
Item_func_group_concat::fix_fields() set maybe_null flag to 0, and set it to
1 only if some of it's arguments may be null. When used in subquery in tmp
table created field which can't be null. When no data retireved result field
have to be set to null and error mentioned in bug report occurs. Also this
bug can occur if selecting from not null field in empty table.
Function group_concat now marked maybe_null from the very beginning not only
if some of it's argument may be null.
sql/item_sum.cc:
Fix bug #12861 client hang with group_concat insubquery FROM DUAL.
mysql-test/r/func_gconcat.result:
Test case for bug #12861 client hang with group_concat insubquery FROM DUAL.
mysql-test/t/func_gconcat.test:
Test case for bug #12861 client hang with group_concat insubquery FROM DUAL.
Fix bug #12410 : InnoDB was too permissive with LOCK TABLE ... READ LOCAL, and alowed new inserts to the table; we now make READ LOCAL equivalent to READ for InnoDB; note that this will cause slightly more locking in mysqldump, but makes the InnoDB table dumps consistent with MyISAM table dumps; note that the real code change patch was accidentally pushed with my another patch 5 minutes ago
sql/ha_innodb.cc:
Fix bug #12410 : InnoDB was too permissive with LOCK TABLE ... READ LOCAL, and alowed new inserts to the table; we now make READ LOCAL equivalent to READ for InnoDB; note that this will cause slightly more locking in mysqldump, but makes the InnoDB table dumps consistent with MyISAM table dumps; note that the real code change patch was accidentally pushed with my another patch 5 minutes ago
Fix bug #12852 : do not increment the open handle count to a table if the table does not have an .ibd file and InnoDB decides to return an error from the ::open() function; then the table can be dropped even if the user has tried to open it
sql/ha_innodb.cc:
Fix bug #12852 : do not increment the open handle count to a table if the table does not have an .ibd file and InnoDB decides to return an error from the ::open() function; then the table can be dropped even if the user has tried to open it
item_cmpfunc.cc:
Pass unicode value as "escape" argument to my_wildcmp
if a multibyte character set is used.
For single byte character set nothing has changed:
native (non-unicode) character code is still passed.
ctype_utf8.result, ctype_utf8.test:
adding test case
sql/item_cmpfunc.cc:
Bug#12611: ESCAPE + LIKE do not work when the escape char is a multibyte one
Pass unicode code instead of native code as
"escape" argument to my_wildcmp.
mysql-test/t/ctype_utf8.test:
adding test
mysql-test/r/ctype_utf8.result:
adding test
sql_parse.cc:
mysqld.cc:
Added --skip-client-character-set-handshake.
When this option is activated, client side character set
(which is sent in handshake) is ignored, and server side
default-character-set value is used for character_set_client
and character_set_results, thus reprodicing 4.0 behaviour.
sql/mysqld.cc:
bug#9948 changed client-charset behavior in 4.1.x libmysql, which issue BC prob
Added --skip-client-character-set-handshake,
to reproduce 4.0 behaviour.
sql/sql_parse.cc:
bug#9948 changed client-charset behavior in 4.1.x libmysql, which issue BC prob
Added --skip-client-character-set-handshake,
to reproduce 4.0 behaviour.
read timeout properly on win32.
include/my_global.h:
Added win32 specific socket timeout error code.
include/violite.h:
Added vio_was_interrupted function that returns true if operation was
not completed due to timeout.
sql/mini_client.cc:
added a check that replication read was not completed due to timeout.
sql/net_serv.cc:
net->last_errno should be equal to ER_NET_READ_INTERRUPTED in case if read
operation was not completed due to timeout.
vio/vio.c:
added initialization code for vio_was_interrupted() function.
vio/viosocket.c:
Added vio_was_interrupted function that returns true if operation was
not completed due to timeout.
closing temp tables in thread cleanup.
mysql-test/r/connect.result:
added results for test of bug #12517
mysql-test/t/connect.test:
added test of bug #12517
sql/sql_class.cc:
Clear user variables and replication events before
closing temp tables in thread cleanup.
Item::tmp_table_field_from_field_type() and create_tmp_field_from_item()
was converting string field to blob depending on byte-wise length instead of
character length, which results in converting valid varchar string with
length == 86 to longtext.
Made that functions above take into account max width of character when
converting string fields to blobs.
sql/item.cc:
Fix bug #12537 UNION produces longtext instead of varchar
Item::tmp_table_field_from_field_type() now taking into account max char width when creating tmp field for string fields.
sql/sql_select.cc:
Fix bug #12537 UNION produces longtext instead of varchar
create_tmp_field_from_item()now taking into account max char width when creating tmp field for string fields.
mysql-test/r/create.result:
Test case for bug #12537 UNION produces longtext instead of varchar
mysql-test/t/create.test:
Test case for bug #12537 UNION produces longtext instead of varchar
character_set_results is nullable, but value_ptr returns string "NULL"
set_var.cc:
Create Item_null instead of Item_string for NULL values
variables.result, variables.test:
adding test case
sql/set_var.cc:
Bug#12363
character_set_results is nullable, but value_ptr returns string "NULL"
Create Item_null instead of Item_string for NULL values
mysql-test/t/variables.test:
fixing tests accordingly
mysql-test/r/variables.result:
fixing tests accordingly
Cannot convert the charset of a GROUP_CONCAT result:
item_sum.cc:
"result" character set was not set into proper value.
func_gconcat.result, func_gconcat.test:
Fixing tests accordingly.
sql/item_sum.cc:
Bug #12829
Cannot convert the charset of a GROUP_CONCAT result:
"result" character set was not set into proper value.
mysql-test/t/func_gconcat.test:
Bug #12829
mysql-test/r/func_gconcat.result:
Bug #12829
Found one more missing DBUG_ENTER. compile-pentium-debug-max does not enable blackhole on 4.1!
sql/ha_blackhole.cc:
Found one more missing DBUG_ENTER. compile-pentium-debug-max does not enable blackhole on 4.1!
mysql-test/r/archive.result:
Update for test case to make sure that TRUNCATE and DELETE function(hah!) as designed.
mysql-test/t/archive.test:
Add TRUNCATE and DELETE support.
sql/examples/ha_archive.cc:
Added delete_all_rows() support.
sql/examples/ha_archive.h:
Added delete_all_rows() support.
sql/handler.h:
Added flags for fast delete support for archive and federated.
Added missing DBUG enter, compiled and tested on production with debug-max
build (my regular build missed the previous errors friday)
Changeset:
Added missing DBUG_ENTER, compiled and tested on production with debug-max
build!
sql/ha_blackhole.cc:
Added missing DBUG enter, compiled and tested on production with debug-max build (my regular build missed the previous errors friday)
C
Skipping deleted records instead of breaking the loop
during checksum calculation.
mysql-test/r/myisam.result:
Bug#12296 - CHECKSUM TABLE reports 0 for the table
The test result.
mysql-test/t/myisam.test:
Bug#12296 - CHECKSUM TABLE reports 0 for the table
The test case.
Handle temporary tables like permanent tables: If the storage engine
cannot truncate, delete instead.
mysql-test/r/innodb.result:
Bug#11816 - Truncate table doesn't work with temporary innodb tables
The test result.
mysql-test/t/innodb.test:
Bug#11816 - Truncate table doesn't work with temporary innodb tables
The test case.
sql/sql_delete.cc:
Bug#11816 - Truncate table doesn't work with temporary innodb tables
Handle temporary tables like permanent tables: If the storage engine
cannot truncate, delete instead.
Replaced a numeric literal by its symbolic name.
Supplied the default database name for ALTER TABLE ... RENAME
for the new table instead of the old tables db like we do for
other ALTERs.
mysql-test/r/alter_table.result:
Bug#11493 - Alter table rename to default database does not work without db name qualifying
The test result.
mysql-test/t/alter_table.test:
Bug#11493 - Alter table rename to default database does not work without db name qualifying
The test case.
- Use constant directly to check that enough number of bytes have been written as header of the archive.
sql/examples/ha_archive.cc:
Don't take "sizeof" the constant DATA_BUFFER_SIZE. Simply use DATA_BUFFER_SIZE as is.
into a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-4.1
client/mysqlcheck.c:
Auto merged
client/mysqlimport.c:
Auto merged
client/mysqltest.c:
Auto merged
extra/my_print_defaults.c:
Auto merged
extra/perror.c:
Auto merged
extra/resolve_stack_dump.c:
Auto merged
include/help_end.h:
Auto merged
include/help_start.h:
Auto merged
isam/isamchk.c:
Auto merged
isam/pack_isam.c:
Auto merged
myisam/myisamlog.c:
Auto merged
netware/myisamchk.def:
Auto merged
netware/mysql.def:
Auto merged
netware/mysqladmin.def:
Auto merged
netware/mysqlbinlog.def:
Auto merged
netware/mysqlcheck.def:
Auto merged
netware/mysqldump.def:
Auto merged
netware/mysqlimport.def:
Auto merged
netware/mysqlshow.def:
Auto merged
client/client_priv.h:
Merged from 4.0.
client/mysql.cc:
Merged from 4.0.
client/mysqladmin.cc:
Merged from 4.0.
client/mysqlbinlog.cc:
Merged from 4.0.
client/mysqldump.c:
Merged from 4.0.
client/mysqlshow.c:
Merged from 4.0.
myisam/myisamchk.c:
Merged from 4.0.
myisam/myisampack.c:
Merged from 4.0.
netware/mysql_test_run.c:
Merged from 4.0.
netware/mysqld_safe.c:
Merged from 4.0.
sql/mysqld.cc:
Merged from 4.0.
client/client_priv.h:
Added option auto close for Netware.
client/mysql.cc:
Added option auto close for Netware.
client/mysqladmin.c:
Added option auto close for Netware.
client/mysqlbinlog.cc:
Added option auto close for Netware.
client/mysqlcheck.c:
Added option auto close for Netware.
client/mysqldump.c:
Added option auto close for Netware.
client/mysqlimport.c:
Added option auto close for Netware.
client/mysqlshow.c:
Added option auto close for Netware.
client/mysqltest.c:
Fixed help messages for Netware.
extra/my_print_defaults.c:
Fixed help messages for Netware.
extra/perror.c:
Fixed help messages for Netware.
extra/resolve_stack_dump.c:
Fixed help messages for Netware.
include/help_end.h:
Fixed help messages for Netware.
include/help_start.h:
Fixed help messages for Netware.
isam/isamchk.c:
Added auto close of window for Netware
isam/pack_isam.c:
Added auto close of window for Netware
myisam/myisamchk.c:
Added auto close of window for Netware
myisam/myisamlog.c:
Added help for Netware.
myisam/myisampack.c:
Added auto close for Netware.
netware/myisamchk.def:
Scrollable screen patch.
netware/mysql.def:
Scrollable screen patch.
netware/mysql_test_run.c:
Fixed strindex for Netware.
netware/mysqladmin.def:
Scrollable screen patch.
netware/mysqlbinlog.def:
Scrollable screen patch.
netware/mysqlcheck.def:
Scrollable screen patch.
netware/mysqld_safe.c:
Removed debug message for Netware.
netware/mysqldump.def:
Scrollable screen patch.
netware/mysqlimport.def:
Scrollable screen patch.
netware/mysqlshow.def:
Scrollable screen patch.
sql/mysqld.cc:
Abnormal end patch when shutting down and volume not ready.
mysql-test/r/ctype_cp932.result:
Remove first event to make things portable
mysql-test/r/rpl_drop_db.result:
Use 'mysqltest' as database instead of 'd1'
Made test faster by using longer table names instead of lots of tables
mysql-test/t/ctype_cp932.test:
Remove first event to make things portable
mysql-test/t/rpl_drop_db.test:
Use 'mysqltest' as database instead of 'd1'
Made test faster by using longer table names instead of lots of tables
sql/sql_db.cc:
Indentation & style fixes
Simple optimization (remove constant and boolean variable)
Fix bug #12779 : never give a row count estimate of 0 to the MySQL query optimizer, as then left join optimizer may beleive it KNOWS that the table is empty; note that this fix may change query optimization of many other queries where one table is empty; note that the proper fix would be to make the query optimizer to know that the row count estimates it receives really are just estimates, it cannot assume they are certain
sql/ha_innodb.cc:
Fix bug #12779 : never give a row count estimate of 0 to the MySQL query optimizer, as then left join optimizer may beleive it KNOWS that the table is empty; note that this fix may change query optimization of many other queries where one table is empty; note that the proper fix would be to make the query optimizer to know that the row count estimates it receives really are just estimates, it cannot assume they are certain
user to update with 'SET PASSWORD = ...'. (Bug #12302)
mysql-test/r/grant2.result:
Add new results
mysql-test/t/grant2.test:
Add new tests
sql/set_var.cc:
Pass priv_host into check_change_password().
sql/sql_acl.cc:
Add exact flag for find_acl_user, so we can specify that we want
an exact match on the hostname.