- mysql_install_db doesn't require --basedir option anymore
- Fix that mysql_install_db mysqld_safe mysql_fix_privilege_tables has right paths for tar binary install
- Move some files from share/mysql to where they have always been (1.0 - 5.0)
- Move scripts used when installing MariaDB to the scripts directory (Added symlinks in old place for compatibility)
- Move man files to 'man' (from 'share/man')
- Ensure that all scripts are executable
mysql_secure_installation.sh
- Added support for --basedir flag
- Don't assume that the mysql binary is in the path
Other:
- Fixed crash when one got kill signal during bootstrap
Docs/INSTALL-BINARY:
Change references from MySQL to MariaDB
Docs/mysql.info:
Change references from MySQL to MariaDB
README:
Removed duplicate row
configure.in:
Change references from MySQL to MariaDB
libmysql/libmysql.c:
Assume that if version string contains '-maria-' we are also using MariaDB
scripts/make_binary_distribution.sh:
Fix that mysql_install_db mysqld_safe mysql_fix_privilege_tables has right paths for tar binary install
Remove some files that should not be part of a MariaDB binary install
Move some files from share/mysql to where they have always been (1.0 - 5.0)
Move man files to 'man' (from 'share/man')
Move scripts used when installing MariaDB to the scripts directory (Added symlinks in old place for compatibility)
Removed generation of 'netware/init_db.sql', as it was never used
Remove old reference to bk tree
scripts/mysql_secure_installation.sh:
Added support for --basedir flag
Don't assume that the mysql binary is in the path
Use .my.cnf files
Removed a lot of useless 'echo' rows
sql/mysqld.cc:
Fixed crash when one got kill signal during bootstrap
storage/maria/Makefile.am:
Don't add internal test files to binary distributions
storage/myisam/Makefile.am:
Don't add internal test files to binary distributions
support-files/Makefile.am:
Make scripts executable
support-files/config.huge.ini.sh:
Removed execution bit
support-files/config.medium.ini.sh:
Removed execution bit
support-files/config.small.ini.sh:
Removed execution bit
support-files/mysql.server.sh:
Ensure this works also mysqld is in the 'bin' directory
The original code comes, as far as I know, from Google (Mark Callaghan's team) with additional work from Percona, Ourdelta and Weldon Whipple.
This code provides the same functionallity, but with a lot of changes to make it faster and better fit the MariaDB infrastucture.
Added new status variables:
- Com_show_client_statistics, Com_show_index_statistics, Com_show_table_statistics, Com_show_user_statistics
- Access_denied_errors, Busy_time (clock time), Binlog_bytes_written, Cpu_time, Empty_queries, Rows_sent, Rows_read
Added new variable / startup option 'userstat' to control if user statistics should be enabled or not
Added my_getcputime(); Returns cpu time used by this thread.
New FLUSH commands:
- FLUSH SLOW QUERY LOG
- FLUSH TABLE_STATISTICS
- FLUSH INDEX_STATISTICS
- FLUSH USER_STATISTICS
- FLUSH CLIENT_STATISTICS
New SHOW commands:
- SHOW CLIENT_STATISTICS
- SHOW USER_STATISTICS
- SHOW TABLE_STATISTICS
- SHOW INDEX_STATISTICS
New Information schemas:
- CLIENT_STATISTICS
- USER_STATISTICS
- INDEX_STATISTICS
- TABLE_STATISTICS
Added support for all new flush commands to mysqladmin
Added handler::ha_... wrappers for all handler read calls to do statistics counting
- Changed all code to use new ha_... calls
- Count number of read rows, changed rows and rows read trough an index
Added counting of number of bytes sent to binary log (status variable Binlog_bytes_written)
Added counting of access denied errors (status variable Access_denied_erors)
Bugs fixed:
- Fixed bug in add_to_status() and add_diff_to_status() where longlong variables where threated as long
- CLOCK_GETTIME was not propely working on Linuxm
client/mysqladmin.cc:
Added support for all new flush commmands and some common combinations:
flush-slow-log
flush-table-statistics
flush-index-statistics
flush-user-statistics
flush-client-statistics
flush-all-status
flush-all-statistics
configure.in:
Added checking if clock_gettime needs the librt.
(Fixes Bug #37639 clock_gettime is never used/enabled in Linux/Unix)
include/my_sys.h:
Added my_getcputime()
include/mysql_com.h:
Added LIST_PROCESS_HOST_LEN & new REFRESH target defines
mysql-test/r/information_schema.result:
New information schema tables added
mysql-test/r/information_schema_all_engines.result:
New information schema tables added
mysql-test/r/information_schema_db.result:
New information schema tables added
mysql-test/r/log_slow.result:
Added testing that flosh slow query logs is accepted
mysql-test/r/status_user.result:
Basic testing of user, client, table and index statistics
mysql-test/t/log_slow.test:
Added testing that flosh slow query logs is accepted
mysql-test/t/status_user-master.opt:
Ensure that we get a fresh restart before running status_user.test
mysql-test/t/status_user.test:
Basic testing of user, client, table and index statistics
mysys/my_getsystime.c:
Added my_getcputime()
Returns cpu time used by this thread.
sql/authors.h:
Updated authors to have core and original MySQL developers first.
sql/event_data_objects.cc:
Updated call to mysql_reset_thd_for_next_command()
sql/event_db_repository.cc:
Changed to use new ha_... calls
sql/filesort.cc:
Changed to use new ha_... calls
sql/ha_partition.cc:
Changed to use new ha_... calls
Fixed comment syntax
sql/handler.cc:
Changed to use new ha_... calls
Reset table statistics
Added code to update global table and index status
Added counting of rows changed
sql/handler.h:
Added table and index statistics variables
Added function reset_statistics()
Added handler::ha_... wrappers for all handler read calls to do statistics counting
Protected all normal read calls to ensure we use the new calls in the server.
Made ha_partition a friend class so that partition code can call the old read functions
sql/item_subselect.cc:
Changed to use new ha_... calls
sql/lex.h:
Added keywords for new information schema tables and flush commands
sql/log.cc:
Added flush_slow_log()
Added counting of number of bytes sent to binary log
Removed not needed test of thd (It's used before, so it's safe to use)
Added THD object to MYSQL_BIN_LOG::write_cache() to simplify statistics counting
sql/log.h:
Added new parameter to write_cache()
Added flush_slow_log() functions.
sql/log_event.cc:
Updated call to mysql_reset_thd_for_next_command()
Changed to use new ha_... calls
sql/log_event_old.cc:
Updated call to mysql_reset_thd_for_next_command()
Changed to use new ha_... calls
sql/mysql_priv.h:
Updated call to mysql_reset_thd_for_next_command()
Added new statistics functions and variables needed by these.
sql/mysqld.cc:
Added new statistics variables and structures to handle these
Added new status variables:
- Com_show_client_statistics, Com_show_index_statistics, Com_show_table_statistics, Com_show_user_statistics
- Access_denied_errors, Busy_time (clock time), Binlog_bytes_written, Cpu_time, Empty_queries, Rows_set, Rows_read
Added new option 'userstat' to control if user statistics should be enabled or not
sql/opt_range.cc:
Changed to use new ha_... calls
sql/opt_range.h:
Changed to use new ha_... calls
sql/opt_sum.cc:
Changed to use new ha_... calls
sql/records.cc:
Changed to use new ha_... calls
sql/set_var.cc:
Added variable 'userstat'
sql/sp.cc:
Changed to use new ha_... calls
sql/sql_acl.cc:
Changed to use new ha_... calls
Added counting of access_denied_errors
sql/sql_base.cc:
Added call to statistics functions
sql/sql_class.cc:
Added usage of org_status_var, to store status variables at start of command
Added functions THD::update_stats(), THD::update_all_stats()
Fixed bug in add_to_status() and add_diff_to_status() where longlong variables where threated as long
sql/sql_class.h:
Added new status variables to status_var
Moved variables that was not ulong in status_var last.
Added variables to THD for storing temporary values during statistics counting
sql/sql_connect.cc:
Variables and functions to calculate user and client statistics
Added counting of access_denied_errors and lost_connections
sql/sql_cursor.cc:
Changed to use new ha_... calls
sql/sql_handler.cc:
Changed to use new ha_... calls
sql/sql_help.cc:
Changed to use new ha_... calls
sql/sql_insert.cc:
Changed to use new ha_... calls
sql/sql_lex.h:
Added SQLCOM_SHOW_USER_STATS, SQLCOM_SHOW_TABLE_STATS, SQLCOM_SHOW_INDEX_STATS, SQLCOM_SHOW_CLIENT_STATS
sql/sql_parse.cc:
Added handling of:
- SHOW CLIENT_STATISTICS
- SHOW USER_STATISTICS
- SHOW TABLE_STATISTICS
- SHOW INDEX_STATISTICS
Added handling of new FLUSH commands:
- FLUSH SLOW QUERY LOGS
- FLUSH TABLE_STATISTICS
- FLUSH INDEX_STATISTICS
- FLUSH USER_STATISTICS
- FLUSH CLIENT_STATISTICS
Added THD parameter to mysql_reset_thd_for_next_command()
Added initialization and calls to user statistics functions
Added increment of statistics variables empty_queries, rows_sent and access_denied_errors.
Added counting of cpu time per query
sql/sql_plugin.cc:
Changed to use new ha_... calls
sql/sql_prepare.cc:
Updated call to mysql_reset_thd_for_next_command()
sql/sql_select.cc:
Changed to use new ha_... calls
Indentation changes
sql/sql_servers.cc:
Changed to use new ha_... calls
sql/sql_show.cc:
Added counting of access denied errors
Added function for new information schema tables:
- CLIENT_STATISTICS
- USER_STATISTICS
- INDEX_STATISTICS
- TABLE_STATISTICS
Changed to use new ha_... calls
sql/sql_table.cc:
Changed to use new ha_... calls
sql/sql_udf.cc:
Changed to use new ha_... calls
sql/sql_update.cc:
Changed to use new ha_... calls
sql/sql_yacc.yy:
Add new show and flush commands
sql/structs.h:
Add name_length to KEY to avoid some strlen
Added cache_name to KEY for fast storage of keyvalue in cache
Added structs USER_STATS, TABLE_STATS, INDEX_STATS
Added function prototypes for statistics functions
sql/table.cc:
Store db+table+index name into keyinfo->cache_name
sql/table.h:
Added new information schema tables
sql/tztime.cc:
Changed to use new ha_... calls
- Don't need any m1 prefix for the first release based on given MySQL
version number.
- Fix mysql-test-run to understand that some stuff is installed under
share/mariadb rather than share/mysql.
- mysql_get_server_name()
This returns MySQL or MariaDB depending on the server type
- mariadb_connection()
This returns 1 if you are connected to a MariaDB server
Modifed the MySQL command line client to print out if you are connected to MariaDB or MySQL
Better default prompt (shows server you are connected to and base directory)
client/mysql.cc:
Print out if you are connected to MariaDB or MySQL
Better default prompt (shows server you are connected to and base directory)
Added option \N to prompt to print server name.
configure.in:
Changed maria to MariaDB in version string
include/mysql.h:
Added mysql_get_server_name() and mariadb_connection()
include/mysql.h.pp:
Update for new API functions
libmysql/libmysql.c:
Added client functions:
- mysql_get_server_name()
This returns MySQL or MariaDB depending on the server type
- mariadb_connection()
This returns 1 if you are connected to a MariaDB server
* Finished Monty and Jani's merge
* Some InnoDB tests still fail (because it's old xtradb code run against
newer testsuite). They are expected to go after mergning with the latest
xtradb.
The problem was that a pthread.h header used by gcc did not
declare the pthread_setscheprio, yet the function is implemented
by the function is implemented, causing a autoconf check to pass
and compilation with C++ to fail. The solution is to add a
autoconf check to ensure that the function is properly declared.
configure.in:
Check that the pthread_setschedprio is declared.
Change the default optimization level for Sun Studio to "-O1".
This is a workaround for a Sun Studio bug (see bug #41710
comments for details):
1. Use $GCC instead of $ac_cv_prog_gcc to check for gcc, since
the first one is the only documented way to do it.
2. Use $GXX instead of $ac_cv_prog_cxx_g to check for g++,
since the latter is set to "yes" when the C++ compiler accepts
"-g" which is the case for both g++ and CC.
3. When building with Sun Studio, set the default values for
CFLAGS/CXXFLAGS to "-O1", since unlike GCC, Sun Studio
interprets "-O" as "-xO3" (see the manual pages for cc and CC).
configure.in:
1. Use $GCC instead of $ac_cv_prog_gcc to check for gcc, since
the first one is the only documented way to do it.
2. Use $GXX instead of $ac_cv_prog_cxx_g to check for g++,
since the latter is set to "yes" when the C++ compiler accepts
"-g" which is the case for both g++ and CC.
3. When building with Sun Studio, set the default values for
CFLAGS/CXXFLAGS to "-O1", since unlike GCC, Sun Studio
interprets "-O" as "-xO3" (see the manual pages for cc and CC).
The root of the problem is that ./configure mixed together two different things. One is the
availability of GCC atomic operation intrinsics. The other is the selection of which
primitives to use for my_atomic implementation.
Then at some point a hack was made to not use GCC intrinsics in my_atomic to work around
some test failures. But because the two things are mixed in ./configure, this as a side
effect also makes GCC intrinsics unavailable for XtraDB.
Fixed by splitting this in two in configure, so that we have HAVE_GCC_ATOMIC_BUILTINS for
GCC intrinsics availability and MY_ATOMIC_MODE_GCC_BUILTINS for use in my_atomic.
- Version number.
- Valgrind false alarms in libz.
- New variant of suppression for Valgrind warning in dlclose().
- Fix double free() in plugin init error case.
configure.in:
Fix version number. We should reset the maria variant back to `1' when the MySQL version
number increases.
include/my_sys.h:
Fix false alarms in Valgrind for zlib.
Apply same fix as for archive storage handler also to the cases of compression in the
client protocol, and to the compression SQL function.
mysql-test/valgrind.supp:
A new variant of the dlclose() suppression is needed now.
mysys/my_compress.c:
Fix false alarms in Valgrind for zlib.
Apply same fix as for archive storage handler also to the cases of compression in the
client protocol, and to the compression SQL function.
sql/handler.cc:
Fix a double free() in error case for plugin initialisation.
sql/item_strfunc.cc:
Fix false alarms in Valgrind for zlib.
Apply same fix as for archive storage handler also to the cases of compression in the
client protocol, and to the compression SQL function.
produce incorrect results for ROUND()
Added a workaround and a configure check to test whether
isinf() is affected by the GCC bug #39228.
Since no code in MySQL server is currently affected by that
bug, the patch is actually a safeguard for possible future
code modifications. No test cases or changelog entries are
needed.
configure.in:
Added a configure check to test whether isinf() is safe to use
in C code.
include/my_global.h:
Added a workaround for GCC bug #39228.
- Move SAFE_MUTEX to be stored in config.h by configure.in (not as a flag used with compiler command line)
- Generate my_config.h in configure
BUILD/SETUP.sh:
Remove -DSAFE_MUTEX as the following --with-debug flag will automaticly add it
BUILD/compile-ia64-debug-max:
Remove -DSAFE_MUTEX as the following --with-debug flag will automaticly add it
configure.in:
Move SAFE_MUTEX and SAFE_MALLOC to [my_] config.h
Generate my_config.h as part of configure process
dbug/dbug.c:
Include my_global.h before we undef SAFE_MUTEX
include/Makefile.am:
Update comment. For now, lets generate my_config.h if someone deletes it after configure
mysys/my_wincond.c:
Include my_global.h before we undef SAFE_MUTEX
mysys/my_winthread.c:
Include my_global.h before we undef SAFE_MUTEX