Perl version of mysql-test-run
new file
mysql-test/lib/init_db.sql:
Perl version of mysql-test-run
mysql-test/lib/mtr_gcov.pl:
Perl version of mysql-test-run
mysql-test/lib/mtr_gprof.pl:
Perl version of mysql-test-run
mysql-test/lib/mtr_io.pl:
Perl version of mysql-test-run
mysql-test/lib/mtr_match.pl:
Perl version of mysql-test-run
mysql-test/lib/mtr_misc.pl:
Perl version of mysql-test-run
mysql-test/lib/mtr_process.pl:
Perl version of mysql-test-run
mysql-test/lib/mtr_report.pl:
Perl version of mysql-test-run
mysql-test/mysql-test-run.pl:
Perl version of mysql-test-run
common directories in 'SUBDIRS' macro ("make distclean" had failed due to that).
Solves bug#7368: "regex make error in 4.1.8"
BitKeeper/etc/ignore:
Added ndb/include/ndb_version.h ndb/include/ndb_global.h to the ignore list
Makefile.am:
Build the 'SUBDIRS' list from the new variable 'sql_union_dirs', not the old "client" and "servers" lists which will overlap.
That overlap worked for build runs, but it caused failures of 'make distclean' etc because the overlapping directories
were cleaned twice which could not work.
Solves bug#7368: "regex make error in 4.1.8"
configure.in:
Introduce a new variable 'sql_union_dirs' to contain those directories which are needed for either server or client.
This is needed to have complete "server" and "client" directory lists in 'Makefile' but prevent double listing
in 'SUBDIRS' (see the comment for 'Makefile.am').
Solves bug#7368: "regex make error in 4.1.8"
added syntax:
'show variables where', 'show status where', 'show open tables where'
mysql-test/r/grant_cache.result:
wl#1629 SHOW with WHERE(final part,after review)
mysql-test/r/information_schema.result:
wl#1629 SHOW with WHERE(final part,after review)
mysql-test/r/query_cache.result:
wl#1629 SHOW with WHERE(final part,after review)
mysql-test/r/temp_table.result:
wl#1629 SHOW with WHERE(final part,after review)
mysql-test/r/union.result:
wl#1629 SHOW with WHERE(final part,after review)
mysql-test/t/information_schema.test:
wl#1629 SHOW with WHERE(final part,after review)
mysql-test/t/query_cache.test:
wl#1629 SHOW with WHERE(final part,after review)
sql/item.cc:
wl#1629 SHOW with WHERE(final part,after review)
sql/mysql_priv.h:
wl#1629 SHOW with WHERE(final part,after review)
sql/sql_parse.cc:
wl#1629 SHOW with WHERE(final part,after review)
sql/sql_select.cc:
wl#1629 SHOW with WHERE(final part,after review)
sql/sql_show.cc:
wl#1629 SHOW with WHERE(final part,after review)
sql/sql_yacc.yy:
wl#1629 SHOW with WHERE(final part,after review)
sql/table.h:
wl#1629 SHOW with WHERE(final part,after review)
When we cast datetime value to DATE (TIME) type we should throw away its
time (date) part. This was not done properly if CAST() function was used
in datetime expressions.
mysql-test/r/cast.result:
Added test for bug #6914 "Problems using time()/date() output in
expressions".
mysql-test/t/cast.test:
Added test for bug #6914 "Problems using time()/date() output in
expressions".
sql/item_timefunc.cc:
Item_time_typecast::get_time()/Item_date_typecast::get_date():
When we cast datetime value to DATE we should throw away its time part.
When we cast such value to TIME type we should throw away its date part.
Updated test results after adding max_user_connections column
to mysql.user table.
mysql-test/r/grant.result:
Updated test results after adding max_user_connections column
to mysql.user table.
mysql-test/r/information_schema.result:
Updated test results after adding max_user_connections column
to mysql.user table.
of concurrent connections for the same account)"
Added support of account specific max_user_connections limit. Made all
user limits to be counted per account instead of the old behavior,
which was per user/host accounting. Added option which enables the old
behavior. Added testing of these to the test suite.
(After review version).
client/mysqltest.c:
Extended mysqltest to be able to handle connect() statements for which
error is expected.
- Added replace_dynstr_append() utility function.
- added connect_n_handle_errors() function which connects with server
without retries and handles errors as if "connect" was usual
statement.
- do_connect(): added ability to handle connects which are expected
to return an error.
- run_query_normal(): Moved all expected-error-handling code to separate
normal_handle_error()/normal_handle_no_error() functions to be able
to reuse them in connect_n_handle_errors().
mysql-test/r/grant.result:
Fixed test results since one more column to mysql.user was added.
mysql-test/r/system_mysql_db.result:
Fixed test results since one more column to mysql.user was added.
scripts/mysql_create_system_tables.sh:
Added max_user_connections column to mysql.user table for storing
new maximal concurrent connections per account limit.
scripts/mysql_fix_privilege_tables.sql:
Added max_user_connections column to mysql.user table for storing
new maximal concurrent connections per account limit.
sql/lex.h:
Added MAX_USER_CONNECTIONS symbol used for specifying
maximum number of concurrent connections per account.
sql/mysql_priv.h:
Added declaration of opt_old_style_user_limits variable which is defined
in sql/mysqld.cc used in sql/sql_parse.cc.
sql/mysqld.cc:
Added "old-style-user-limits" option which forces user limits to behave
in old way i.e. to be counted per user/host pair instead of per account.
Added comment describing mqh_used variable.
sql/set_var.cc:
Added sys_var_max_user_conn class which implements support for the new
behavior of max_user_connections variable. Now the global instance of
this variable holds default maximum number of concurrent connections per
account (as it was before) and the session instance gives read-only
access to account-specific version of this limit.
sql/set_var.h:
Added sys_var_max_user_conn class which implements support for the new
behavior of max_user_connections variable. Now the global instance of
this variable holds default maximum number of concurrent connections per
account (as it was before) and the session instance gives read-only
access to account-specific version of this limit.
sql/sql_acl.cc:
Added support for account-specific MAX_USER_CONNECTIONS limit.
Tweaked USER_RESOURCES and their handling for better clarity.
sql/sql_parse.cc:
Added support for account-specific MAX_USER_CONNECTIONS (maximum number
of concurrent connections per account) limit. Changed default behavior
of all user limits to be per account instead of per user+host.
'--old-style-user-limits' option was added to enable the old behavior.
Made maximum number of connections per hour to be independant on the
value of global max_user_connections variable.
sql/sql_yacc.yy:
Added support of new MAX_USER_CONNECTIONS limit to grammar.
Renamed USER_RESOURCES::connections member to conn_per_hour and bits
member to specified_limits. Also enum is used instead of naked numbers
when we are working with specified_limits.
sql/structs.h:
USER_RESOURCES struct:
- Added user_conn member to store the maximum number of concurrent
connections for an account. Renamed connections member to
conn_per_hour for less ambiguity.
- Renamed member 'bits' to 'specified_limits' for the sake of clarity.
The member was used as a flag indicating which limits were mentioned
in GRANT clause.
- Added comments.
USER_CONN struct:
- Removed unused user_len member.
- Added comments.
Print a more descriptive error and refuse to start InnoDB if the size of ibdata files is smaller than what is stored in the tablespace header; innodb_force_recovery will override this
innobase/srv/srv0start.c:
Print a more descriptive error and refuse to start InnoDB if the size of ibdata files is smaller than what is stored in the tablespace header; innodb_force_recovery will override this
innobase/dict/dict0dict.c:
Make dict_is_mixed_table_rec() a non-inlined function.
innobase/include/dict0dict.h:
Make dict_is_mixed_table_rec() a non-inlined function.
Remove dict_index_rec_get_sys_col().
innobase/include/dict0dict.ic:
Make dict_is_mixed_table_rec() a non-inlined function.
Remove dict_index_rec_get_sys_col().
innobase/trx/trx0rec.c:
Replace the two calls to the removed
function dict_index_rec_get_sys_col() with equivalent code.
robustness (dropping things just in case).
mysql-test/r/sp.result:
Reverted previous name changes of all bug tests, but kept the
robustness (dropping things just in case).
mysql-test/t/sp.test:
Reverted previous name changes of all bug tests, but kept the
robustness (dropping things just in case).
The fix checks if the trim string argument is NULL. If so, the standard
mandates that the function result must be also NULL.
mysql-test/r/func_str.result:
added test result
mysql-test/t/func_str.test:
Added test for NULL arguments.
sql/item_strfunc.cc:
Test if the trim argument is NULL.
innobase/btr/btr0btr.c:
Remove parameter n_fields from cmp_rec_rec()
innobase/btr/btr0cur.c:
Remove parameter n_fields from cmp_rec_rec_with_match()
innobase/btr/btr0pcur.c:
Remove parameter n_fields from cmp_rec_rec()
innobase/include/rem0cmp.h:
Remove parameter n from cmp_rec_rec_with_match() and cmp_rec_rec()
innobase/include/rem0cmp.ic:
Remove parameter n from cmp_rec_rec()
innobase/include/rem0rec.ic:
Correct the implementation of rec_offs_nth_size() (Bug #7493)
innobase/page/page0page.c:
Remove parameter n_fields from cmp_rec_rec()
innobase/rem/rem0cmp.c:
Remove parameter n from cmp_rec_rec_with_match()
innobase/rem/rem0rec.c:
rec_get_offsets(): Pass the number of allocated elements to
rec_offs_set_n_alloc() instead of the number of allocated bytes,
so that debugging assertions are more likely to detect
out-of-bounds errors.
Manually merge the latest FOREIGN KEY lock wait + DROP TABLE fix from 4.0
innobase/row/row0mysql.c:
Manually merge the latest FOREIGN KEY lock wait + DROP TABLE fix from 4.0
- Added a hash to keep track of database-table pairs.
- Specified database-table tables do not get dumped
client/client_priv.h:
WL#2319 V2: Exclude tables from dump
client/mysqldump.c:
WL#2319 V2: Exclude tables from dump
mysql-test/r/mysqldump.result:
WL#2319 V2: Exclude tables from dump
mysql-test/t/mysqldump.test:
WL#2319 V2: Exclude tables from dump
Fix the previous bug fix: dropping a table with FOREIGN KEY checks running on it caused a cascade of failed drops while the foreign key check was waiting for a lock
innobase/row/row0mysql.c:
Fix the previous bug fix: dropping a table with FOREIGN KEY checks running on it caused a cascade of failed drops while the foreign key check was waiting for a lock
non-numerical characters (if $VERSION was e.g. "4.1.8a", $MYSQL_VERSION_ID
resulted in "40108a", which broke the build as MYSQL_VERSION_ID must be
numerical)
configure.in:
- make sure that MYSQL_VERSION_ID does not contain any non-numerical characters
(if $VERSION was e.g. "4.1.8a", $MYSQL_VERSION_ID resulted in "40108a", which
broke the build as MYSQL_VERSION_ID must be numerical)
Merge the two FOREIGN KEY bug fixes from 4.0, and add a TODO comment
innobase/row/row0mysql.c:
Merge the two FOREIGN KEY bug fixes from 4.0, and add a TODO comment
Fix bug: if we dropped a table where an INSERT was waiting for a lock to check a FOREIGN KEY constraint, then an assertion would fail in lock_reset_all_on_table(), since that operation assumes no waiting locks on the table or its records
row0mysql.c:
Fix bug: InnoDB failed to drop a table in the background drop queue if the table was referenced by a foreign key constraint
innobase/row/row0mysql.c:
Fix bug: InnoDB failed to drop a table in the background drop queue if the table was referenced by a foreign key constraint
innobase/row/row0ins.c:
Fix bug: if we dropped a table where an INSERT was waiting for a lock to check a FOREIGN KEY constraint, then an assertion would fail in lock_reset_all_on_table(), since that operation assumes no waiting locks on the table or its records
This is a partial solution for bug#7464.
innobase/include/rem0rec.ic:
On several platforms, "inline functions" must be coded before being used, in "bottom-up" order.
Ensure this for 'rec_get_status' and 'rec_offs_n_fields'.
mysql-test/r/merge.result:
Added test result for BUG#7377.
mysql-test/t/merge.test:
Added test for BUG#7377.
sql/ha_myisammrg.cc:
Added implementation for handler::index_type.
sql/ha_myisammrg.h:
Added implementation for handler::index_type.
Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY
sql/sql_table.cc:
Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY
Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY
sql/ha_innodb.cc:
Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY