into sanja.is.com.ua:/home/bell/mysql/bk/work-owner2-5.0
sql/mysql_priv.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_view.cc:
Auto merged
view definer information syntax/storage/replication
fixed SOURCE field of .frm
mysql-test/r/func_in.result:
definer information added to CREATE VIEW
mysql-test/r/lowercase_view.result:
definer information added to CREATE VIEW
mysql-test/r/mysqldump.result:
definer information added to CREATE VIEW
mysql-test/r/rpl_view.result:
check log of queries
mysql-test/r/skip_grants.result:
--skip-grants do not allow use user information
mysql-test/r/sql_mode.result:
definer information added to CREATE VIEW
mysql-test/r/temp_table.result:
definer information added to CREATE VIEW
mysql-test/r/view.result:
definer information added to CREATE VIEW
test of storing/restoring definer information
mysql-test/r/view_grant.result:
test of grant check of definer information
definer information added to CREATE VIEW
mysql-test/t/rpl_view.test:
check log of queries
mysql-test/t/skip_grants.test:
--skip-grants do not allow use user information
mysql-test/t/view.test:
test of storing/restoring definer information
mysql-test/t/view_grant.test:
test of grant check of definer information
sql/mysql_priv.h:
CREATE/ALTER VIEW print support
set current user as definer procedure
sql/share/errmsg.txt:
new errors/warnings
sql/sql_acl.cc:
make find_acl_user public to allow to check user
sql/sql_acl.h:
make find_acl_user public to allow to check user
sql/sql_lex.h:
storing definer information
sql/sql_parse.cc:
send CREATE/ALTER VIEW for replication with full list of options
set current user as definer procedure
sql/sql_show.cc:
new CREATE VIEW options printed
sql/sql_view.cc:
check of definer clause
changes in .frm file
definer information storage support
now we store only original SELECT in SOURCE field of .frm
sql/sql_yacc.yy:
definer information sintax support
getting SOURCE field information for .frm
sql/table.h:
definer information storage
into mysql.com:/home/gluh/MySQL/Bugs/5.0.cml
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_show.cc:
Auto merged
Information_schema DB
Bug#9846 Inappropriate error displayed while
dropping table from 'INFORMATION_SCHEMA'
Bug#10734 Grant of privileges other than 'select' and
'create view' should fail on schema
Bug#10708 SP's can use INFORMATION_SCHEMA as ROUTINE_SCHEMA
cumulative fix for bugs above(after review, 2nd version)
added privilege check for information schema db & tables
The problem was in that add_table_to_list was testing for duplicate tables
in a list of tables that included the created view.
mysql-test/r/view.result:
Test for BUG#6808
mysql-test/t/view.test:
Test for BUG#6808
sql/sql_parse.cc:
When testing for table name uniquness, skip the first table the current
statement is CREATE VIEW. Notice that the first table is skipped differently
for CREATE TABLE ... SELECT ... statements, so we don't have to handle that
case here (see production 'create_select', the call 'to save_and_clear').
into mysql.com:/users/lthalmann/bk/mysql-5.0
mysql-test/r/insert_select.result:
Auto merged
mysql-test/t/insert_select.test:
Auto merged
sql/sql_parse.cc:
Manual marge
The problem was that in the first production in rule 'join_table', that
processes simple cross joins, the parser was processing the second join operand
before the first one due to unspecified priorities of JOINs. As a result in the
case of cross joins the parser constructed a tree with incorrect nesting:
the expression "t1 join t2 join t3 on some_cond" was interpreted as
"t1 join (t2 join t3 on some_cond)" instead of
"(t1 join t2) join t3 on some_cond".
Because of this incorrect nesting the method make_join_on_context picked an
incorrect table as the first table of the name resolution context.
The solution assignes correct priorities to the related production.
mysql-test/r/select.result:
Added test for BUG#12943.
mysql-test/t/select.test:
Added test for BUG#12943.
sql/sql_parse.cc:
Fixed typo.
sql/sql_yacc.yy:
Provide explicit priorities of the JOIN operator and the 'table_ref' rule,
to enforce left-associativity of [INNER | CROSS] JOIN.
* Allocate thd->user_var_events elements on appropriate mem_root
* If several SP statements are binlogged as a single statement, collect all user var
accesses they make (grep for StoredRoutinesBinlogging for details)
mysql-test/r/rpl_sp_effects.result:
Testcase for BUG#12637
mysql-test/r/sp.result:
re-enabled test case for BUG#12297
mysql-test/t/rpl_sp_effects.test:
Testcase for BUG#12637
mysql-test/t/sp.test:
re-enabled test case for BUG#12297
sql/item_func.cc:
Fix for BUG#12637: Make SPs+user variables replication work:
* Allocate thd->user_var_events elements on appropriate mem_root
* If several SP statements are binlogged as a single statement, collect all user var
accesses they make.
sql/log.cc:
Fix for BUG#12637: Make SPs+user variables replication work:
* Allocate thd->user_var_events elements on appropriate mem_root
* If several SP statements are binlogged as a single statement, collect all user var
accesses they make.
sql/sp_head.cc:
Fix for BUG#12637: Make SPs+user variables replication work:
* Allocate thd->user_var_events elements on appropriate mem_root
* If several SP statements are binlogged as a single statement, collect all user var
accesses they make.
sql/sp_head.h:
Remove compiler warning.
sql/sql_class.h:
Fix for BUG#12637: Make SPs+user variables replication work.
sql/sql_parse.cc:
Fix for BUG#12637: Make SPs+user variables replication work.
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().
The idea of the patch is to separate statement processing logic,
such as parsing, validation of the parsed tree, execution and cleanup,
from global query processing logic, such as logging, resetting
priorities of a thread, resetting stored procedure cache, resetting
thread count of errors and warnings.
This makes PREPARE and EXECUTE behave similarly to the rest of SQL
statements and allows their use in stored procedures.
This patch contains a change in behaviour:
until recently for each SQL prepared statement command, 2 queries
were written to the general log, e.g.
[Query] prepare stmt from @stmt_text;
[Prepare] select * from t1 <-- contents of @stmt_text
The chagne was necessary to prevent [Prepare] commands from being written
to the general log when executing a stored procedure with Dynamic SQL.
We should consider whether the old behavior is preferrable and probably
restore it.
This patch refixes Bug#7115, Bug#10975 (partially), Bug#10605 (various bugs
in Dynamic SQL reported before it was disabled).
mysql-test/r/not_embedded_server.result:
Since we don't want to log Dynamic SQL in stored procedures,
now the general log gets only one log entry per SQL statement.
mysql-test/r/sp-error.result:
- remove obsolete tests
- a better error message for the case when a stored procedure that
returns a result set is called from a function
mysql-test/r/trigger.result:
- a better error message for the case when a stored procedure that
returns a result set is called from a trigger
mysql-test/t/sp-error.test:
- a better error message for the case when a stored procedure that
returns a result set is called from a function.
- move the comment to its place (end of file).
mysql-test/t/trigger.test:
- a better error message for the case when a stored procedure that
returns a result set is called from a trigger
sql/item_func.cc:
- we need to pass sql_command explicitly to get_var_with_binlog, because
when creating a query for SQL prepared statement thd->lex->sql_command
points at SQLCOM_EXECUTE, which is not listed in the list of update
queries.
sql/log_event.h:
- remove an extra copy of the previous sentence
sql/mysql_priv.h:
- fix declarations of sql_prepare.cc API
sql/share/errmsg.txt:
- a new error message, when one attempts to execute a prepared statement
which is currently being executed (this can happen only in Dynamic SQL
at the moment).
sql/sp_head.cc:
- extend sp_multi_results_command to return different flags for a
command (and rename it)
- add support for SQLCOM_PREPARE,SQLCOM_EXECUTE, SQLCOM_DEALLOCATE
to sp_get_flags_for_command
- replace multiple boolean sp_head members with uint m_flags
- a fix for a crash when user variables are used in a stored procedure
and binlog is on. A temporary fix for Bug#12637 "SP crashes the server
if it has update query with user var & binlog is enabled", which actually
stands for stored functions: now instead of a crash we break
replication if a user variable is used in a stored function which
is executed in prelocked mode.
sql/sp_head.h:
- replace multiple boolean flags of sp_head with uint m_flags;
- add flag CONTAINS_DYNAMIC_SQL
- use this flag to error if a stored procedure with Dynamic SQL is
called from a function or trigger.
sql/sql_class.cc:
- Statement_map::insert should not delete a statement if it exists,
now it's done externally to be able to handle the case when the
statement being deleted is in use.
- remove extra code (free_list is already reset in free_items)
sql/sql_lex.cc:
- add lex->stmt_prepare_mode; we can't rely on thd->command any more,
because we don't reset it any more (Dynamic SQL requirement is that
PS are as little intrusive as possible).
sql/sql_lex.h:
- declare bool LEX::stmt_prepare_mode
sql/sql_parse.cc:
- move prepared statement code to sql_prepare.cc
- change declarations (refactored code)
- better error message when one attempts to use Dynamic SQL or a
stored procedure that returns a result set in a function or trigger.
sql/sql_prepare.cc:
- major refactoring to ensure PREPARE/EXECUTE commands do not reset global THD
state and allow their use in stored procedures.
- add Prepared_statement::flags and use it to ensure no recursive execution
of a prepared statement is possible
- better comments
sql/sql_yacc.yy:
- enable PREPARE/EXECUTE/DEALLOCATE in stored procedures
- produce an error message on attempt to use PREPARE/EXECUTE/DEALLOCATE
in a stored function or trigger
mysql-test/r/sp-dynamic.result:
- sp-dynamic.test results
mysql-test/t/sp-dynamic.test:
- a new test for PREPARE/EXECUTE/DEALLOCATE in stored procedures.
into sanja.is.com.ua:/home/bell/mysql/bk/work-bug3-5.0
sql/item.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/table.cc:
Auto merged
- current_arena to stmt_arena: the thread may have more than one
'current' arenas: one for runtime data, and one for the parsed
tree of a statement. Only one of them is active at any moment.
- set_item_arena -> set_query_arena, because Item_arena was renamed to
Query_arena a while ago
- set_n_backup_item_arena -> set_n_backup_active_arena;
the active arena is the arena thd->mem_root and thd->free_list
are currently pointing at.
- restore_backup_item_arena -> restore_active_arena (with the same
rationale)
- change_arena_if_needed -> activate_stmt_arena_if_needed; this
method sets thd->stmt_arena active if it's not done yet.
sql/item.cc:
Rename.
sql/item_cmpfunc.cc:
Rename.
sql/item_func.cc:
Rename.
sql/item_subselect.cc:
Rename.
sql/item_subselect.h:
Remove an unused forward declaration.
sql/item_sum.h:
Remove an unused forward declaration.
sql/mysql_priv.h:
Remove an unused forward declaration.
sql/sp.cc:
Rename.
sql/sp_head.cc:
Rename.
sql/sql_base.cc:
Rename.
sql/sql_class.cc:
Rename.
sql/sql_class.h:
Rename.
sql/sql_lex.cc:
Rename.
sql/sql_parse.cc:
Rename.
sql/sql_prepare.cc:
Rename.
sql/sql_select.cc:
Rename.
sql/sql_show.cc:
Rename.
sql/sql_union.cc:
Rename.
sql/sql_view.cc:
Rename.
sql/table.cc:
Rename.
into sanja.is.com.ua:/home/bell/mysql/bk/work-bug3-5.0
BitKeeper/etc/config:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/table.h:
Auto 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().
- Make sure that mysqltest always uses ssl when connecting to the server.
- Pass a i32-bit int variable as argument to FIONREAD ioctl.
client/mysqltest.c:
Set the flag CLIENT_REMENBER_OPTIONS so that all connection attempts from mysqltest is done with the same settings.
Old impl caused mysqltest to loose all it's settings in the second connection attempt, ex ssl settings.
extra/yassl/src/socket_wrapper.cpp:
64-bit Solaris requires the variable passed to FIONREAD be a 32-bit value.
Using "int" unless _WIN32_ is defined.
sql/sql_parse.cc:
Update error message when sslaccepts fails. Must have been a copy and paste error.
vio/viossl.c:
Minor fixes
Add timeout to DBUG_PRINT
use function vio_ssl_fd to get sd from vio
Remove extra whitespace
vio/viosslfactories.c:
Remove DBUG_PRINT("enter" in sslaccept and sslconnect as it tries to print out null strings. That is not suported on all platforms.
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
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.
into mysql.com:/home/mydev/mysql-5.0-5000
mysql-test/r/innodb.result:
Auto merged
mysql-test/t/innodb.test:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_delete.cc:
After merge fix.
sql/ha_innodb.cc:
Add 'value' parameter to reset_auto_increment.
sql/ha_innodb.h:
Add 'value' parameter to reset_auto_increment.
sql/handler.h:
Add 'value' parameter to reset_auto_increment.
sql/mysql_priv.h:
Add 'reset_auto_increment' parameter to mysql_delete.
sql/sql_delete.cc:
Add 'reset_auto_increment' parameter to mysql_delete, and use it instead
of checking for SQLCOM_TRUNCATE.
mysql_truncate: Adapt to changes in mysql_delete.
sql/sql_parse.cc:
mysql_execute_command: Adapt to changes in mysql_delete.
into mysql.com:/home/mydev/mysql-5.0-5000
myisam/mi_search.c:
Auto merged
mysql-test/r/alter_table.result:
Auto merged
mysql-test/t/alter_table.test:
Auto merged
mysql-test/t/innodb.test:
Auto merged
sql/sql_table.cc:
Auto merged
mysql-test/r/innodb.result:
Hand merged.
mysql-test/r/key.result:
Hand merged.
mysql-test/r/myisam.result:
Hand merged.
mysql-test/t/key.test:
Hand merged.
mysql-test/t/myisam.test:
Hand merged.
sql/sql_delete.cc:
Hand merged.
sql/sql_parse.cc:
Hand merged.
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.
sql/item.cc:
Code cleanup
sql/item.h:
Code cleanup
sql/log.cc:
Added comments
sql/sp_head.cc:
Code cleanup patch from Monty:
in subst_spvars()
- Move local variables first in block
- Use res|= instead of res |=
- Use strmake() instead of alloc + memcpy
Added:
- Fail the query if we don't have enough memory to produce a binlog-suitable query string:
if we're so low on memory we're likely to fail the query anyway, and failing now removes
the need for hack with THD::query_str_binlog_suitable.
sql/sql_class.cc:
Remove THD::query_str_binlog_unsuitable
sql/sql_class.h:
Remove THD::query_str_binlog_unsuitable
sql/sql_delete.cc:
Remove THD::query_str_binlog_unsuitable
sql/sql_insert.cc:
Remove THD::query_str_binlog_unsuitable
sql/sql_parse.cc:
Code cleanup
sql/sql_update.cc:
Remove THD::query_str_binlog_unsuitable
"Interleaved SPs execution is now binlogged properly, "SELECT spfunc()" is binlogged too.
The known remaining issue is binlogging/replication of "a routine is deleted while it is executed" scenario.
mysql-test/r/rpl_sp.result:
Fix for BUG#12335: updated test cases/results
mysql-test/t/rpl_sp.test:
Fix for BUG#12335: updated test cases/results
sql/item.cc:
Fix for BUG#12335 (SP replication):
- Added Item_name_const 'function'
- Addede 'delete reuse' to call dtor on item reuse
sql/item.h:
Fix for BUG#12335 (SP replication) : Added Item_name_const 'function' + code cleanup
sql/item_create.cc:
Fix for BUG#12335 (SP replication) : Added Item_name_const 'function'
sql/item_create.h:
Fix for BUG#12335 (SP replication) : Added Item_name_const 'function'
sql/item_func.cc:
Fix for BUG#12335 (SP replication) : binary log is now constrolled from within execute_function.
sql/lex.h:
Fix for BUG#12335 (SP replication) : Added Item_name_const 'function'
sql/log.cc:
Fix for BUG#12335 (SP replication) : Added MYSQL_LOG::{start|stop}_union_events to allow
one to temporary disable binlogging but collect a 'union' information about binlog write
calls.
sql/mysql_priv.h:
Fix for BUG#12335 (SP replication)
sql/sp_head.cc:
Fix for BUG#12335 (SP replication) : Now we use different SP binlogging strategy, grep for
StoredRoutinesBinlogging for details
sql/sp_head.h:
Comments added
sql/sp_pcontext.h:
Comments added
sql/sp_rcontext.h:
Comments added
sql/sql_class.cc:
Fix for BUG#12335 (SP replication) : Now we use different SP binlogging strategy, grep for
StoredRoutinesBinlogging for details
sql/sql_class.h:
Fix for BUG#12335 (SP replication) : Added MYSQL_LOG::{start|stop}_union_events to allow
one to temporary disable binlogging but collect a 'union' information about binlog write
calls.
sql/sql_delete.cc:
Fix for BUG#12335: check THD::query_str_binlog_unsuitable when writing to binlog.
sql/sql_insert.cc:
Fix for BUG#12335: check THD::query_str_binlog_unsuitable when writing to binlog.
sql/sql_lex.cc:
Fix for BUG#12335 (SP replication): Add ability to extract previous returned token from
the tokenizer.
sql/sql_lex.h:
Fix for BUG#12335 (SP replication): Add ability to extract previous returned token from
the tokenizer.
sql/sql_parse.cc:
Fix for BUG#12335 (SP replication) : Now we use different SP binlogging strategy, grep for
StoredRoutinesBinlogging for details
sql/sql_update.cc:
Fix for BUG#12335: check THD::query_str_binlog_unsuitable when writing to binlog.
sql/sql_yacc.yy:
Fix for BUG#12335 (SP replication) : When creating Item_splocal, remember where it is located
in the query.
We should not assume that "thd" argument of reload_acl_and_cache() is
non-zero. Failure to do so will cause server to crash when one sends
SIGHUP to it.
sql/sql_parse.cc:
reload_acl_and_cache():
When we call this function from SIGHUP handler we pass 0 as "thd" argument
to it. So we should not assume that thd is non-zero in it.
into sanja.is.com.ua:/home/bell/mysql/bk/work-bug3-5.0
BitKeeper/etc/config:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/table.cc:
Auto merged
mysql-test/r/view.result:
merge
mysql-test/t/view.test:
merge
sql/share/errmsg.txt:
merge
sql/sql_insert.cc:
merge
sql/table.h:
merge
include/my_global.h:
Safer macros to avoid possible overflows
sql/item_cmpfunc.cc:
Simple optimization
sql/sp_head.cc:
Indentation fixes
Remove not needed "else" levels
Added error checking for 'new'
Simpler reseting of thd->spcont in execute_procedure
sql/sql_base.cc:
Faster new
sql/sql_lex.cc:
Use 'TRUE' instead of 'true'
sql/sql_parse.cc:
Faster new
sql/sql_view.cc:
No need to set 'tables' as it's not used
sql/table.cc:
Simpler DBUG_ASSERT()
into mishka.local:/home/my/mysql-5.0
sql/item_strfunc.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged