Call file->extra() with HA_STATUS_CONST in mysqld_show_keys.
The fix will not be merged into 4.1/5.0 because they don't have this problem already.
mysql-test/r/show_check.result:
Testcase for BUG#7519
mysql-test/t/show_check.test:
Testcase for BUG#7519
sql/sql_show.cc:
Fix for BUG#7519: Index statistics is not displayed after ANALYZE for temporary tables:
When handling "SHOW INDEX" the call file->extra(HA_STATUS_CONST | ...) is made for regular tables
but bypassed for temporary tables.
Call file->extra() with HA_STATUS_CONST in mysqld_show_keys to make sure we're always using the
current index cardinality values.
sql_show.cc:
Made change suggested by Serge. REmoved else in mysql_find_files so symlink files fall through to the wildcard check
sql/sql_show.cc:
Made change suggested by Serge. REmoved else in mysql_find_files so symlink files fall through to the wildcard check
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/sql_class.h:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/ha_innodb.cc:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/log_event.cc:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/slave.cc:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/sql_db.cc:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/sql_parse.cc:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/sql_show.cc:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
re-using unused LOCK_active_mi to serialize all administrative
commands related to replication:
START SLAVE, STOP SLAVE, RESET SLAVE, CHANGE MASTER, init_slave()
(replication autostart at server startup), end_slave() (replication
autostop at server shutdown), LOAD DATA FROM MASTER.
This protects us against a handful of deadlocks (like BUG#2921
when two START SLAVE, but when two STOP SLAVE too).
Removing unused variables.
sql/item_func.cc:
We don't need LOCK_active_mi just to MASTER_POS_WAIT().
sql/repl_failsafe.cc:
no need for macro
sql/set_var.cc:
no need for macro
sql/slave.cc:
Re-using unused LOCK_active_mi to serialize all administrative
commands related to replication:
START SLAVE, STOP SLAVE, RESET SLAVE, CHANGE MASTER, init_slave()
(replication autostart at server startup), end_slave() (replication
autostop at server shutdown), LOAD DATA FROM MASTER.
This protects us against a handful of deadlocks.
Removing unused variables.
sql/slave.h:
Re-using LOCK_active_mi to serialize administrative replication commands.
Macros unneeded. Removing unneeded variables.
sql/sql_parse.cc:
found unused variable.
Replacing macros.
sql/sql_show.cc:
replacing macros
Now one need only SELECT privilege for tables that are only read in
UPDATE statements with many tables. (Bug #2377).
sql/sql_acl.cc:
Comment cleanup
sql/sql_parse.cc:
Merged duplicate code.
Removed some outdated 'tables->db' tests.
Check privileges for multi-updates properly (Bug #2377)
sql/sql_show.cc:
Remove disabled code
sql/sql_update.cc:
Ensure that privileges are tested properly for multi-table-updates
tests/grant.pl:
Added more tests
tests/grant.res:
updated results
values for TIMESTAMP columns. The solution is not perfect since
we just silently ignoring default value for first TIMESTAMP
column and properly reflecting this fact in SHOW CREATE TABLE.
We can't give a warning or simply support standard syntax
(niladic functions as legal value for default) for first field
since it is 4.0 tree.
mysql-test/r/type_timestamp.result:
Added test for bugs #1885, #2464, #2539
(proper support of default values for TIMESTAMP columns)
mysql-test/t/type_timestamp.test:
Added test for bugs #1885, #2464, #2539
(proper support of default values for TIMESTAMP columns)
sql/field.cc:
Enabled copying of defaults for TIMESTAMP fields when we are
creating table with CREATE TABLE x (SELECT ...)
sql/field.h:
Set proper DEFAULT value for non-first TIMESTAMP column.
sql/sql_parse.cc:
Allowed default values for TIMESTAMP column.
sql/sql_show.cc:
Enabled printing of default values in SHOW CREATE TABLE and
SHOW COLUMNS for all TIMESTAMP columns except first one.
Added support for lower_case_table_names=2, which is to be used on case insensitive file systems.
This tells MySQL to preserve the used case of filenames and database names to make it esier to move files between cases sensitive can case insensitive file systems (like Windows and Linux)
client/mysqltest.c:
Indentation cleanup
include/myisam.h:
Made some pointers 'const'
mysql-test/mysql-test-run.sh:
Portability fix for OSX
sql/filesort.cc:
Safety fix (not needed for current code but needed for 5.0)
sql/ha_berkeley.cc:
More debugging
Changed 'create' to return error number
sql/ha_berkeley.h:
Added HA_FILE_BASED
sql/ha_innodb.cc:
Added missing DBUG_RETURN
sql/ha_isam.cc:
Changed create to return error number
sql/ha_isam.h:
Added HA_FILE_BASED
sql/ha_isammrg.h:
Added HA_FILE_BASED
sql/ha_myisam.cc:
Changed create to return error number
sql/ha_myisam.h:
Added HA_FILE_BASED
sql/ha_myisammrg.cc:
Changed create to return error number
sql/ha_myisammrg.h:
Added HA_FILE_BASED
sql/handler.cc:
Ensure that table engines gets table names in lower case even if we are using lower_case_table_names
Removed test for DB_TYPE_INNODB by ensuring that create method returns error number.
sql/handler.h:
Added HA_FILE_BASED
Made some struct entries 'const'
Added 'alias' for create to be able to create tables in mixed case on case insensitive file systems
sql/mysql_priv.h:
Support for lower_case_table_names=2
sql/mysqld.cc:
Support for lower_case_table_names=2
Moved test of case insenstive file system after all mutex are created
sql/set_var.cc:
Support for lower_case_table_names=2
sql/sql_class.h:
Indentation change
sql/sql_db.cc:
Support for lower_case_table_names=2
sql/sql_insert.cc:
Indentation change
sql/sql_parse.cc:
Support for lower_case_table_names=2
sql/sql_rename.cc:
Support for lower_case_table_names=2
Added missing 'unpack_filename' to RENAME which may fix a bug in RENAME TABLE on windows
sql/sql_show.cc:
If lower_case_table_name=2 is given, show original case in SHOW CREATE TABLE
sql/sql_table.cc:
Support for lower_case_table_names=2 for DROP TABLE, RENAME TABLE, ALTER TABLE and CREATE TABLE
"SHOW TABLE STATUS very slow w/large number of tables"
Replaced old algorithm which were used in my_dir() and stored
all information about directory entries in one chunk of memory
with new one which stores file names and MY_STAT structures in
separate memroot, so now we don't need to copy this data during
reallocation of dir_entry array.
include/my_dir.h:
Changed mystat member of FILEINFO structure to pointer since
this prevents unneeded memory allocation and initialization.
Added comment about new hidden members of MY_DIR structure.
mysys/my_lib.c:
Replaced old algorithm in my_dir() which stored all information
about directory entries in one chunk of memory with new one
which stores file names and MY_STAT structures in separate
memroot. Now we don't copy this data during reallocation of
array with FILEINFO structures.
Also tuned sizes of memory chunks during first-other
reallocations (we suppose that we either have < 100 files
in the directory or > 1000 of them).
sql/sql_show.cc:
Updated only place in code where mystat member
of FILEINFO structure is used.
mysql_server_init() now returns error code if something went wrong (Bug #2062)
Don't use my_fopen() when reading symlink information as this may cause problems when a lot of files are opened.
Free thread keys with pthread_key_delete() instead of relying on automatic free. (Bug #2062)
Fixed bug in UNION statement with alias '*'. (Bug #1249)
Fixed a bug in DELETE ... ORDER BY ... LIMIT where the rows where not deleted in the proper order. (Bug #1024).
FOUND_ROWS() could return incorrect number of rows after a query with an impossible WHERE condition.
HOW DATABASES doesn't anymore show .sym files (on windows) that doesn't point to a valid directory. (Bug #1385)
include/config-win.h:
Ensure that USE_SYMDIR is set for all windows versions
(This is set in makefiles, so this is just an extra safety measure)
include/my_pthread.h:
Fixed a possible memory leak on MacOSX when using the shared libmysql.so library (Bug #2061)
include/my_sys.h:
my_init() now returns error code if something went wrong
include/mysql.h:
mysql_once_init() now returns error code if something went wrong
include/mysql_com.h:
my_init() now returns error code if something went wrong
libmysql/libmysql.c:
mysql_server_init() and mysql_once_init() now returns error code if something went wrong (Bug #2062)
mysql-test/r/limit.result:
Update results
mysql-test/r/select_found.result:
Update results
mysql-test/r/union.result:
Update results
mysql-test/t/limit.test:
Added test for DELETE ... ORDER BY ... LIMIT (bug #1024)
mysql-test/t/select_found.test:
Added test for problem with impossible WHERE (Bug #1468)
mysql-test/t/union.test:
Added test for problem with alias '*' (Bug #1249)
mysys/mf_pack.c:
Don't use my_fopen() when reading symlink information as this may cause problems when a lot of files are opened.
mysys/my_init.c:
my_init() now returns error code if something went wrong
mysys/my_lib.c:
More debug information
mysys/my_thr_init.c:
Free thread keys with pthread_key_delete() instead of relying on automatic free. (Bug #2062)
sql/sql_base.cc:
Fixed bug in UNION statement with alias '*'. (Bug #1249)
sql/sql_delete.cc:
Fixed a bug in DELETE ... ORDER BY ... LIMIT where the rows where not deleted in the proper order. (Bug #1024).
sql/sql_select.cc:
FOUND_ROWS() could return incorrect number of rows after a query with an impossible WHERE condition.
sql/sql_show.cc:
SHOW DATABASES doesn't anymore show .sym files (on windows) that doesn't point to a valid directory. (Bug #1385)
sql/sql_yacc.yy:
Allow syntax UNION DISTINCT
Added TCP/IP read/write timeout for windows
Check on windows if second server is started with same TCP/IP port
BitKeeper/deleted/.del-have_openssl_2.inc~8c9f1a45676b698f:
Delete: mysql-test/include/have_openssl_2.inc
BitKeeper/deleted/.del-have_openssl_2.require~53bbdfc136fb514:
Delete: mysql-test/r/have_openssl_2.require
BitKeeper/deleted/.del-openssl_2.test~f2dfa927f19d14f8:
Delete: mysql-test/t/openssl_2.test
BitKeeper/etc/ignore:
added libmysql/vio_priv.h libmysql_r/vio_priv.h
client/mysql.cc:
vio ssl structure renames
include/violite.h:
Cleanup violite.h interface (move things to vio_priv.h)
libmysql/Makefile.am:
Use vio_priv.h
libmysql/Makefile.shared:
Use vio_priv.h
libmysqld/lib_vio.c:
Added timeout for windows
mysys/my_getopt.c:
Indentaion cleanup
sql/item_cmpfunc.cc:
Remove compiler warnings
sql/item_func.cc:
Remove compiler warnings
sql/mini_client.cc:
vio ssl structure renames
sql/mysqld.cc:
Check on windows if second server is started with same TCP/IP port
sql/net_serv.cc:
Add read/write timeouts for windows
sql/sql_acl.cc:
vio ssl structure renames
sql/sql_show.cc:
vio ssl structure renames
vio/vio.c:
Added timeouts for windows
vio/viosocket.c:
Added timeouts for windows
vio/viossl.c:
Added timeouts for windows
Cleaned up structure element names
vio/viosslfactories.c:
Added timeouts for windows
Cleaned up structure element names
Fixed deadlock bug when doing resize of key buffer while key buffer was in active use
myisam/mi_locking.c:
Better fix for myisamchk --sort-index on windows
mysql-test/r/symlink.result:
Update results
mysql-test/t/symlink.test:
Update results
mysys/mf_keycache.c:
Fixed deadlock bug when doing resize of key buffer while key buffer was in active use
sql/ha_myisam.cc:
simple optimization
sql/sql_show.cc:
Fixed theoretical buffer overrun
Reset variable properly before calling update_create_info()
Added logging of warnings for failed connections with ssl.
Fixed bug in symbolic link handling on Windows
include/my_global.h:
Added replication flags from 4.1
mysql-test/r/func_group.result:
Added test for SUM(NULL)
mysql-test/t/func_group.test:
Added test for SUM(NULL)
sql/item_sum.cc:
Fixed bug in SUM() with NULL:s
sql/item_sum.h:
Fixed bug in SUM() with NULL:s
sql/mysqld.cc:
Added option --symbolic-links
Fixed bug in symbolic link handling on Windows
sql/net_serv.cc:
Code cleanup
sql/sql_acl.cc:
Added logging of warnings for failed connections with ssl.
sql/sql_show.cc:
Changed to use HAVE_REPLICATION instead of EMBEDDED_LIBRARY
mysql-test/r/innodb.result:
A test case for non-functional rollback after inserting a row into
MyISAM table with binary log enabled.
mysql-test/t/innodb.test:
A test case for non-functional rollback after inserting a row into
MyISAM table with binary log enabled.
sql/sql_show.cc:
Displaying disabled keys in SHOW KEYS
sql/sql_table.cc:
Fix for a serious bug with ALTER TABLE ENABLE / DISABLE KEYS
Use SESSION TABLE_HANDLER as default table handler if given table handler doesn't exists
Docs/internals.texi:
Updated description for how DATE, TIME and TIMESTAMP are stored
mysql-test/r/create.result:
New tests
mysql-test/t/create.test:
New tests
sql/handler.cc:
Use SESSION TABLE_HANDLER as default table handler if given table handler doesn't exists.
sql/sql_parse.cc:
Fix that we return hostname instead of IP in SHOW PROCESSLIST
sql/sql_show.cc:
Print right hostname or IP in SHOW PROCESSLIST
Fixed bug in RAND() usage in mysqlbinlog
configure.in:
Added detection if pthread_attr_getstacksize() exists
include/thr_lock.h:
Fixed wrong comment
sql/log_event.cc:
Fixed bug in RAND() usage in mysqlbinlog
sql/mysqld.cc:
Portablity fix
sql/repl_failsafe.cc:
Set host_or_ip for system threads (to make other code simpler)
sql/slave.cc:
Set host_or_ip for system threads (to make other code simpler)
sql/sql_class.cc:
Set host_or_ip for system threads (to make other code simpler)
sql/sql_insert.cc:
Set host_or_ip for system threads (to make other code simpler)
sql/sql_show.cc:
Set host_or_ip for system threads (to make other code simpler)
include/violite.h:
port added to reported parameters
libmysqld/lib_vio.c:
port added to reported parameters
sql/sql_class.h:
port added to reported parameters
sql/sql_parse.cc:
port added to reported parameters
sql/sql_show.cc:
SHOW PROCESSLIST will report port number if it is possible
vio/viosocket.c:
port added to reported parameters
proper handling of SUM() in some functions.
BitKeeper/etc/logging_ok:
auto-union
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/table.cc:
Auto merged
mysql-test/r/group_by.result:
merge with 3.23.56
mysql-test/t/group_by.test:
merge with 3.23.56
sql/item_strfunc.h:
merge with 3.23.56
sql/mysqld.cc:
merge with 3.23.56
sql/sql_parse.cc:
merge with 3.23.56
sql/sql_yacc.yy:
merge with 3.23.56
This fixes some Errcode 13 errors on Windows when deleting tables.
sql/mysql_priv.h:
Moved lower case conversion of database names to check_db_name()
sql/mysqld.cc:
Fix to be able to use 4.0 error message files
sql/sql_db.cc:
Moved lower case conversion of database names to check_db_name()
sql/sql_parse.cc:
Moved lower case conversion of database names to check_db_name()
Added checking of lower_case_table_names for mysql_table_dump() and
mysql_list_fields()
sql/sql_show.cc:
Moved lower case conversion of database names to check_db_name()
sql/table.cc:
Convert database names to lower case in check_db-name() if --lower-case-table-names is used.
This fixed some optimization problems when using -DBIG_TABLES
Portabilty fixes for OpenUnix and HPUX
Added C and C++ version numbers to mysqlbug
Docs/mysqld_error.txt:
Added new error message
acinclude.m4:
Fix for configure problem on OpenUnix
configure.in:
Fix for OpenUnix
Added C and C++ versions to mysqlbug
mysql-test/r/variables.result:
Update of max_join_size handling
mysql-test/t/variables.test:
Update of max_join_size handling
mysys/Makefile.am:
Removed duplicate row
mysys/my_alloc.c:
Safety fixes (not fatal)
scripts/Makefile.am:
Added C and C++ compiler versions to mysqlbug
scripts/mysqlbug.sh:
Added C and C++ compiler versions to mysqlbug
sql/item_func.cc:
Fixed that user variables that changes are not threated as constants.
sql/item_func.h:
Fixed that user variables that changes are not threated as constants.
sql/mysqld.cc:
Changed thd variables max_join_size and select_limit to type ha_rows
sql/repl_failsafe.cc:
Removed not needed cast
sql/set_var.cc:
Changed thd variables max_join_size and select_limit to type ha_rows
sql/set_var.h:
Changed thd variables max_join_size and select_limit to type ha_rows
sql/slave.cc:
Removed not needed cast
sql/sql_class.h:
Changed thd variables max_join_size and select_limit to type ha_rows
sql/sql_parse.cc:
Removed not needed cast
Fixed security problem with mysql_drop_db()
sql/sql_show.cc:
Changed thd variables max_join_size and select_limit to type ha_rows
sql/structs.h:
Changed thd variables max_join_size and select_limit to type ha_rows
innobase/dict/dict0dict.c:
Auto merged
libmysql/libmysql.c:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_udf.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
innobase/include/db0err.h:
Skiped merge (Heikki wants to do this)
innobase/row/row0mysql.c:
Skiped merge (Heikki wants to do this)
sql/sql_show.cc:
Use local code
sql/sql_show.cc:
Fixed rare bug in show processlist which could cause core dump if a new thread was connecting.
(We where calling mutex_unlock() without having ever called mutex_lock)
sql/sql_udf.cc:
Fixed warning from valgrind
Docs/manual.texi:
Auto merged
sql/lock.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
tests/grant.pl:
Auto merged
sql/sql_acl.cc:
Merge with 3.23.53 (fixes problem with critical region in GRANT)
sql/sql_insert.cc:
Merge with 3.23.53 (no changes)
sql/sql_parse.cc:
Merge with 3.23.53 (no changes)
sql/sql_udf.cc:
Merge with 3.23.53 (indent change)
sql/table.h:
Merge with 3.23.53 (no changes)
Added missing mutex-lock around critical section in GRANT handling.
Docs/manual.texi:
ChangeLog
sql/lock.cc:
Change name -> alias in TABLE_LIST.
sql/slave.cc:
Change name -> alias in TABLE_LIST.
sql/sql_acl.cc:
Added missing mutex-lock around critical section in GRANT handling.
Changed name -> alias
sql/sql_base.cc:
Change name -> alias in TABLE_LIST.
sql/sql_insert.cc:
Change name -> alias in TABLE_LIST.
sql/sql_parse.cc:
Change name -> alias in TABLE_LIST.
sql/sql_show.cc:
Change name -> alias in TABLE_LIST.
sql/sql_table.cc:
Change name -> alias in TABLE_LIST.
sql/sql_udf.cc:
Change name -> alias in TABLE_LIST.
sql/table.h:
Change name -> alias in TABLE_LIST.
tests/grant.pl:
Fixed grant test