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).
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.
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'.
Added the required structures and functions for
handing over multiple key ranges to the table handler.
include/my_base.h:
WL#2126 - Multi_read_range.
Moved key range flags from sql/opt_range.h to here.
Added the multi-range structure.
sql/handler.cc:
WL#2126 - Multi_read_range.
Added the new table handler methods.
sql/handler.h:
WL#2126 - Multi_read_range.
Added a new table flag.
Added a declaration for the handler buffer.
Added new elements to class handler.
Added new function declarations.
sql/mysqld.cc:
WL#2126 - Multi_read_range.
Added an option to set new system variable 'multi_range_count'.
sql/opt_range.cc:
WL#2126 - Multi_read_range.
Added initialization for the new class members.
Added initialization for the extended get_next().
Added de-initialization for the allocated buffers.
Added a buffer allocation method.
Added an inner loop to collect multiple ranges.
Adapted range collection loops to the new initialization.
sql/opt_range.h:
WL#2126 - Multi_read_range.
Moved key range flags from here to include/my_base.h.
Added new elements to class QUICK_RANGE_SELECT.
Added a copy constructor.
sql/records.cc:
WL#2126 - Multi_read_range.
Added a call of the allocation method.
sql/set_var.cc:
WL#2126 - Multi_read_range.
Added the new system variable 'multi_range_count'.
sql/sql_class.h:
WL#2126 - Multi_read_range.
Added the new system variable 'multi_range_count'.
Changed my_error() to print error messages, which come from
arbitrary registered ranges of error messages. Messages can
be unregistered (and should be at end of the program).
Added registration of handler error messages.
Added a new mi_print_error() macro and a new
mi_report_error() function, which supply error
messages with a table name.
Added calls to mi_print_error() or mi_report_error()
at all places in MyISAM, where table corruption is detected.
extra/comp_err.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added prints for ER_ERROR_FIRST and ER_ERROR_LAST.
Removed print for ER_ERROR_MESSAGES.
include/errmsg.h:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added declaration for a new function.
Added first and last error number defines.
include/my_base.h:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added first and last error number defines.
include/my_sys.h:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Removed obsolete defines.
Removed a global variable, which held pointers to the error message arrays.
Added declarations for new functions.
include/mysys_err.h:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Removed an obsolete define.
Changed two defines to use the new defines.
Added first and last error number defines.
libmysql/errmsg.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Replaced global array initialization by proper registration
and unregistration of client error messages.
libmysql/libmysql.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added a call for unregistration of client error messages.
myisam/mi_delete.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added calls to the new error logging function at all places, where
corruption is detected.
Added a debugging call to pretend MyISAM corruption in case a special
debug string is set.
Added a debugging call to test undefined error numbers in case a special
debug string is set.
myisam/mi_extra.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added calls to the new error logging function at all places, where
corruption is detected.
myisam/mi_info.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added the error logging function.
myisam/mi_key.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added calls to the new error logging function at all places, where
corruption is detected.
myisam/mi_keycache.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added calls to the new error logging function at all places, where
corruption is detected.
myisam/mi_locking.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added calls to the new error logging function at all places, where
corruption is detected.
myisam/mi_open.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added calls to the new error logging function at all places, where
corruption is detected.
Added a debugging call to pretend MyISAM corruption in case a special
debug string is set.
myisam/mi_page.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added calls to the new error logging function at all places, where
corruption is detected.
myisam/mi_range.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added calls to the new error logging function at all places, where
corruption is detected.
myisam/mi_rkey.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added calls to the new error logging function at all places, where
corruption is detected.
myisam/mi_search.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added calls to the new error logging function at all places, where
corruption is detected.
myisam/mi_update.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added calls to the new error logging function at all places, where
corruption is detected.
Added a debugging call to pretend MyISAM corruption in case a special
debug string is set.
myisam/mi_write.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added calls to the new error logging function at all places, where
corruption is detected.
Added a debugging call to pretend MyISAM corruption in case a special
debug string is set.
myisam/myisamdef.h:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added the declaration of the new error logging function
and a new macro.
mysql-test/r/merge.result:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Changed test results. These come from the changed error reporting
in openfrm().
mysql-test/r/repair.result:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Changed test results. These come from the changed error reporting
in openfrm().
mysql-test/t/merge.test:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Changederror numbers. These come from the changed error reporting
in openfrm().
mysys/errors.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Dropped the assignment of the global errors to the
dropped global pointer array.
mysys/my_error.c:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Changed my_error() from using a static array of pointers to
error message arrays to using a linked list of structures
with pointers to array message arrays.
Added functions for registering and unregistering error
message arrays to the chain.
sql/derror.cc:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Changed reading of mysqld error messages to using the new
registering and unregistering functions.
sql/handler.cc:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Added initialization and deinitialization of handler error messages.
Included more handler error messages in the mapping to
mysqld error messages.
sql/mysqld.cc:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Changed deinitialization of error messages to proper
unregistration.
sql/table.cc:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Changed error reporting in openfrm() so that error messages from
handler::ha_open() are reported by handler::print_error(). This
changed messages from "Can't open 't1.MYI' (errno: 130)" to
"Incorrect file format 't1'" for example.
sql/unireg.h:
WL#1895 - Print message to error log in case of detected MyISAM corruption
Changed two defines to use the new defines.
Implement fine-grained control over access to stored procedures
Privileges are cached (same way as existing table/column privs)
mysql-test/include/system_db_struct.inc:
WL#925 - Privileges for stored routines
New system table: procs_priv
mysql-test/r/connect.result:
WL#925 - Privileges for stored routines
New system table: procs_priv
mysql-test/r/grant.result:
WL#925 - Privileges for stored routines
user table has additional privilege attributes
SHOW PRIVILEGES amended
mysql-test/r/grant2.result:
Fix result
mysql-test/r/information_schema.result:
WL#925 - Privileges for stored routines
New system table procs_priv
New user privileges
mysql-test/r/show_check.result:
Fix result
mysql-test/r/sp-security.result:
WL#925 - Privileges for stored routines
Fix existing tests to work with new privileges
New tests for new privileges
mysql-test/r/sp.result:
WL#925 - Privileges for stored routines
Fix SHOW PRIVILEGES results
mysql-test/r/system_mysql_db.result:
WL#925 - Privileges for stored routines
New system table: procs_priv
user and db tables have new privilege attributes
mysql-test/t/grant2.test:
Fix test
mysql-test/t/show_check.test:
Fix test
mysql-test/t/sp-security.test:
WL#925 - Privileges for stored routines
Allow existing tests to run with new privilege checks
New tests for privileges
mysql-test/t/system_mysql_db_fix.test:
WL#925 - Privileges for stored routines
New system table: procs_priv
scripts/mysql_create_system_tables.sh:
WL#925 - Privileges for stored routines
db and user has new privilege attributes
new system table: procs_priv
scripts/mysql_fix_privilege_tables.sql:
WL#925 - Privileges for stored routines
new system table: procs_priv
scripts/mysql_install_db.sh:
WL#925 - Privileges for stored routines
Amend comment
sql/item_func.cc:
WL#925 - Privileges for stored routines
Privilege check for stored FUNCTION routine
sql/lex.h:
WL#925 - Privileges for stored routines
new token ROUTINE
sql/mysql_priv.h:
WL#925 - Privileges for stored routines
New function: check_procedure_access()
sql/mysqld.cc:
WL#925 - Privileges for stored routines
system option automatic-sp-privileges
sql/set_var.cc:
WL#925 - Privileges for stored routines
system option automatic-sp-privileges
sql/share/errmsg.txt:
WL#925 - Privileges for stored routines
rename errormessage to conform:
ER_SP_ACCESS_DENIED_ERROR -> ER_PROCACCESS_DENIED_ERROR
New error messages
ER_NONEXISTING_PROC_GRANT, ER_PROC_AUTO_GRANT_FAIL, ER_PROC_AUTO_REVOKE_FAIL
sql/sp.cc:
WL#925 - Privileges for stored routines
new function: sp_exists_routine()
sql/sp.h:
WL#925 - Privileges for stored routines
new function: sp_exists_routine()
sql/sql_acl.cc:
WL#925 - Privileges for stored routines
Implementation for SP privileges.
Privileges are cached in memory hash.
New functions:
mysql_procedure_grant()
check_grant_procedure()
sp_revoke_privileges()
sp_grant_privileges()
sql/sql_acl.h:
WL#925 - Privileges for stored routines
New privilege bits: CREATE_PROC_ACL, ALTER_PROC_ACL
Alter confusing bit-segments to be shifted
New macros: fix_rights_for_procedure() get_rights_for_procedure()
New functions:
mysql_procedure_grant()
check_grant_procedure()
sp_grant_privileges()
sp_revoke_privileges()
sql/sql_lex.h:
WL#925 - Privileges for stored routines
new all_privileges attribute in LEX
sql/sql_parse.cc:
WL#925 - Privileges for stored routines
Remove function: check_sp_definer_access()
Add handling for SP grants/revokes
Add privilege checks for stored procedure invocation
sql/sql_show.cc:
WL#925 - Privileges for stored routines
update result for SHOW PRIVILEGES
sql/sql_yacc.yy:
WL#925 - Privileges for stored routines
New token ROUTINE
rename some rules
handle CREATE ROUTINE / ALTER ROUTINE privileges
changed field names in 'collations' table(discussed with PGulutzan)
mysql-test/r/information_schema.result:
result fix
mysql-test/t/information_schema.test:
test for bug2719
into mysql.com:/home/dlenev/src/mysql-5.0-tzbug
sql/sql_base.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/handler.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
innobase/trx/trx0roll.c:
Auto merged.
so we read dependent tables after tables they depend on (this is needed for outer joins)
mysql-test/r/join_outer.result:
Test for BUG#4480
mysql-test/t/join_outer.test:
Test for BUG#4480
mysql-test/r/federated.result:
Change mode to -rw-rw-r--
mysql-test/r/fulltext2.result:
Change mode to -rw-rw-r--
mysql-test/r/grant2.result:
Change mode to -rw-rw-r--
mysql-test/r/information_schema_inno.result:
Change mode to -rw-rw-r--
mysql-test/r/innodb_handler.result:
Change mode to -rw-rw-r--
mysql-test/r/insert_update.result:
Change mode to -rw-rw-r--
mysql-test/r/repair.result:
Change mode to -rw-rw-r--
mysql-test/r/rpl_create_database.result:
Change mode to -rw-rw-r--
mysql-test/r/type_bit.result:
Change mode to -rw-rw-r--
Fixed some found bugs in BIT fields
Added more test cases for BIT fields and varchar
include/my_base.h:
Merge
Added HA_BIT_PART for easier test in key.cc
innobase/os/os0proc.c:
Fixed typo
myisam/mi_dbug.c:
Add printing of BIT types when debugging
mysql-test/r/show_check.result:
Set 'Avg_row_length' to # as this value is different between 32 and 64 bit machines
mysql-test/r/type_bit.result:
More tests
mysql-test/r/type_varchar.result:
More tests
mysql-test/t/show_check.test:
Set 'Avg_row_length' to # as this value is different between 32 and 64 bit machines
mysql-test/t/type_bit.test:
More tests
mysql-test/t/type_varchar.test:
More tests
sql/field.cc:
Added Field::val_int_as_str() to get better logging of bit fields
Merged new_key_field with move_field() to fix some problems with bit fields
Fixed some bugs with bit fields
sql/field.h:
Added Field::val_int_as_str() to get better logging of bit fields
Merged new_key_field with move_field() to fix some problems with bit fields
Fixed some bugs with bit fields
sql/ha_myisam.cc:
Fixed problem with unintialized memory (not critical)
sql/key.cc:
Fix so that 'key_cmp_if_same' works with bit fields.
sql/opt_range.cc:
Move declarations first in function
Nice printing of bit fields in debug log
sql/sql_prepare.cc:
Fixed old merge error (not critical)
sql/sql_select.cc:
Use new interface to new_key_field
sql/sql_select.h:
Use new interface to new_key_fields()
This fixes a bug with BIT fields where the upper bit of the data was not stored in the key buffer
sql/structs.h:
Extend key_part_flag to be able to add HA_BIT_PART to it
sql/table.cc:
Mark BIT key parts with HA_BIT_PART to make test in key.cc simpler
We should not call free_tmp_table() for derived table in
mysql_derived_filling(), since by this moment this table is already
registered in THD::derived_tables list and thus free_tmp_table() will
be called for it automatically in close_thread_tables().
sql/sql_derived.cc:
We should not call free_tmp_table() for derived table in
mysql_derived_filling(), since by this moment this table is already
registered in THD::derived_tables list and thus free_tmp_table() will
be called for it automatically in close_thread_tables().
server-tools/instance-manager/mysql_connection.cc:
use enum value instead of extern const in array definition
server-tools/instance-manager/priv.cc:
added a comment to remind of enum value in mysql_connection.cc
Put a sensible value of thread id and process no to a background rollback transaction
innobase/trx/trx0roll.c:
Put a sensible value of thread id and process no to a background rollback transaction
Print progress of background rollback of transactions with more than 1000 undo log entries
srv0start.c, trx0roll.c, log0recv.c, trx0roll.h:
Cleanup background rollback code in crash recovery; do not flush all modified pages from the buffer pool after a crash recovery: this makes mysqld accesible for users more quickly
innobase/include/trx0roll.h:
Cleanup background rollback code in crash recovery; do not flush all modified pages from the buffer pool after a crash recovery: this makes mysqld accesible for users more quickly
innobase/log/log0recv.c:
Cleanup background rollback code in crash recovery; do not flush all modified pages from the buffer pool after a crash recovery: this makes mysqld accesible for users more quickly
innobase/srv/srv0start.c:
Cleanup background rollback code in crash recovery; do not flush all modified pages from the buffer pool after a crash recovery: this makes mysqld accesible for users more quickly
innobase/trx/trx0roll.c:
Print progress of background rollback of transactions with more than 1000 undo log entries