Added new commands CREATE USER and RENAME USER.
Changed behaviour of DROP USER.
Changed an error messages for the new commands.
Docs/mysqld_error.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
include/mysqld_error.h:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Changed an error code for more general use.
mysql-test/r/grant.result:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Changed test results.
mysql-test/r/grant2.result:
WL#2050 - CREATE USER and DROP USER and RENAME USER
New test results.
mysql-test/r/ps_1general.result:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Changed test results.
mysql-test/t/grant.test:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Updated old tests for new behaviour of DROP USER.
It does now implicitly remove all privileges and
does not fail when privileges are still in place.
Fixed a typo, which left an user in the database,
whereby other tests could be confused.
Added a DROP USER for another test user.
mysql-test/t/grant2.test:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Added new tests for the new features.
sql/share/czech/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/danish/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/dutch/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/english/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/estonian/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/french/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/german/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/greek/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/hungarian/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/italian/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/japanese/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/korean/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/norwegian-ny/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/norwegian/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/polish/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/portuguese/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/romanian/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/russian/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/serbian/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/slovak/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/spanish/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/swedish/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/share/ukrainian/errmsg.txt:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Modified an error message for more general use.
sql/sql_acl.cc:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Added a destructor for the GRANT_TABLE object to get
rid of a hash_column in cases where a nonsense row was
read from the privilege tables. Added code to delete
such an object when it is not entered into the
column_priv_hash due to a nonsense row.
Added function comments to two unmodified functions.
Replaced mysql_drop_user() by the implementation of all
of the functions as specified in the Low Level Design.
sql/sql_acl.h:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Added prototypes for new functions.
sql/sql_lex.h:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Added new command codes for CREATE USER and
RENAME USER.
sql/sql_parse.cc:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Added case clauses for the new commands CREATE USER
and RENAME USER.
sql/sql_yacc.yy:
WL#2050 - CREATE USER and DROP USER and RENAME USER
Added syntax for the new commands CREATE USER and
RENAME USER, reworked DROP USER, introduced a new
'user_list' and 'rename_list', renamed the old
'user_list' to 'grant_list'. The difference is that
'grant_list' contains 'grant_user' (with optional
IDENTIFIED BY), while 'user_list' contains 'user'.
Concentrated privilege initializazions into a new
section 'clear_privileges'.
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
mysql-test/r/fulltext.result:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/table.cc:
Auto merged
into sanja.is.com.ua:/home/bell/mysql/bk/work-join-5.0
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
mysql-test/r/view.result:
changes in error number, and key in view processing
mysql-test/t/view.test:
changes in error number, and key in view processing
sql/mysql_priv.h:
changes functions
sql/sp.cc:
now we report to setup_tables(), are we setuping SELECT...INSERT
sql/sql_base.cc:
fixed finding table, taking in account join view, which can have not TABLE pointer
now we report to setup_tables(), are we setuping SELECT...INSERT and ennumerete insert table separately
sql/sql_delete.cc:
now we report to setup_tables(), are we setuping SELECT...INSERT
sql/sql_help.cc:
now we report to setup_tables(), are we setuping SELECT...INSERT
sql/sql_insert.cc:
fixed returning value of functions
sql/sql_load.cc:
now we report to setup_tables(), are we setuping SELECT...INSERT
removed second setup_tables call (merge)
sql/sql_olap.cc:
now we report to setup_tables(), are we setuping SELECT...INSERT
sql/sql_parse.cc:
UPDATE->MULTIUPDATE switching fixed
sql/sql_prepare.cc:
UPDATE->MULTIUPDATE switching fixed
sql/sql_select.cc:
now we report to setup_tables(), are we setuping SELECT...INSERT
sql/sql_update.cc:
UPDATE->MULTIUPDATE switching fixed
sql/sql_view.cc:
returning value fixed
sql/sql_view.h:
returning value fixed
Build-tools/Do-compile:
Auto merged
client/Makefile.am:
Auto merged
client/mysqladmin.cc:
Auto merged
configure.in:
Auto merged
ndb/src/common/util/version.c:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
ndb/src/mgmsrv/main.cpp:
Resolved NDB conflict between 4.1 and 5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-error-5.0
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/table.h:
Auto merged
correct printing of aliases
mysql-test/r/lowercase_view.result:
aliases in VIEWs
mysql-test/t/lowercase_view.test:
aliases in VIEWs
sql/item.cc:
tracking using aliases in indentifiers
sql/item.h:
tracking using aliases in indentifiers
sql/sql_base.cc:
tracking using aliases in indentifiers
sql/sql_lex.cc:
tracking using aliases in indentifiers
sql/sql_lex.h:
tracking using aliases in indentifiers
sql/table.h:
tracking using aliases in indentifiers
'information_schema' test is splitted because of innodb
mysql-test/r/information_schema.result:
Test is splitted because of innodb
mysql-test/t/information_schema.test:
Test is splitted because of innodb
sql/sql_show.cc:
Fixed bug related to lower case table names on Power Mac
sql/table.h:
Fixed bug related to lower case table names on Power Mac
tests/client_test.c:
Don't check field length for blob filed
out of order". (final version)
Now instead of binding Item_trigger_field to TABLE objects during
trigger definition parsing at table open, we perform pass through
special list of all such objects in trigger. This allows easily check
all references to fields in old/new version of row in trigger during
execution of CREATE TRIGGER statement (this is more courtesy for users
since we can't check everything anyway).
We also report that such reference is bad by returning error from
Item_trigger_field::fix_fields() method (instead of setup_field())
This means that if trigger is broken we will bark during trigger
execution instead of trigger definition parsing at table open.
(i.e. now we allow to open tables with broken triggers).
mysql-test/r/trigger.result:
Added test which attempts to create trigger for table referencing to
field which does not exist in this table.
mysql-test/t/trigger.test:
Added test which attempts to create trigger for table referencing to
field which does not exist in this table.
sql/item.cc:
Item_trigger_field::setup_field() now returns void. If any error
will occur we will report it at fix_fields() stage.
sql/item.h:
Item_trigger_field:
- Added next_trg_field member for linking all such objects in trigger
in one list.
- Also setup_field() now returns void. If any error will occur we will
report it at fix_fields() stage.
sql/mysql_priv.h:
Added SQL_LIST::push_back() method which allows to add another SQL_LIST
to the end of this SQL_LIST.
sql/sp_head.cc:
sp_head::init()/reset_lex()/restore_lex():
In order to fill global LEX::trg_table_fields (list of all
Item_trigger_field objects for trigger) we should init the same list
in LEX of substatement before its parsing and merge it to global list
after parsing.
sql/sp_head.h:
sp_instr_trigger_field:
Made trigger_field member public to be able to add it more easily to
global list of all Item_trigger_field objects in trigger.
sql/sql_lex.cc:
LEX::trg_table was removed.
sql/sql_lex.h:
Now we are binding Item_trigger_field's to TABLE object by passing
through specially constructed list of all such objects in this trigger
instead of doing this during trigger definition parsing at table open.
So we no longer need LEX::trg_table, we use LEX::trg_table_fields list
instead.
sql/sql_parse.cc:
mysql_execute_command():
Since now we use trigger body for some checks in
mysql_create_or_drop_trigger() we should destroy it only
after calling this function.
sql/sql_trigger.cc:
Now instead of binding Item_trigger_field to TABLE objects during
trigger definition parsing at table open, we perform pass through
special list of all such objects in trigger. This allows easily check
all references to fields in old/new version of row in trigger during
execution of CREATE TRIGGER statement (this is more courtesy for users
since we can't check everything anyway).
We also report that such reference is bad by returning error from
Item_trigger_field::fix_fields() method (instead of setup_field())
This means that if trigger is broken we will bark during trigger
execution instead of trigger definition parsing at table open.
(i.e. now we allow to open tables with broken triggers).
Table_triggers_list::prepare_old_row_accessors() method was added to be
able to reuse code creating Field objects referencing TABLE::record[1]
buffer instead of TABLE::record[0].
sql/sql_trigger.h:
Added Table_triggers_list::prepare_old_row_accessors() method to be
able to reuse code creating Field objects referencing to TABLE::record[1]
instead of record[0].
sql/sql_yacc.yy:
Now instead of performing binding of Item_trigger_field objects
to TABLE object during trigger definition parsing at table open,
we perform this binding by passing through specially constructed
list of all such items in trigger.
We also check value returned from memory allocation functions.
Fixed bug 'using of alias with information schema tables in views'
removed compiler warnings
mysql-test/r/information_schema.result:
More test cases are added
mysql-test/t/information_schema.test:
More test cases are added
sql/sql_select.cc:
Fixed bug 'using of alias with information schema tables in views'
sql/sql_show.cc:
Fixed bug 'using of alias with information schema tables in views'
Changed length of some columns
sql/table.h:
Fixed bug 'using of alias with information schema tables in views'
tests/client_test.c:
Changed length of some columns
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
Docs/Support/texi2html:
Auto merged
client/mysqltest.c:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/heap.result:
Auto merged
mysql-test/r/key.result:
Auto merged
mysql-test/r/myisam.result:
Auto merged
mysql-test/r/rpl000015.result:
Auto merged
mysql-test/r/rpl_log_pos.result:
Auto merged
mysql-test/r/rpl_rotate_logs.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
mysql-test/t/key.test:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/t/rpl000015.test:
Auto merged
mysql-test/t/rpl_log_pos.test:
Auto merged
mysql-test/t/rpl_rotate_logs.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/handler.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_do.cc:
Auto merged
sql/sql_table.cc:
Auto merged
BitKeeper/etc/logging_ok:
auto-union
Docs/Support/texi2html:
Auto merged
client/mysqltest.c:
Auto merged
myisam/ft_boolean_search.c:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/rpl000015.result:
Auto merged
mysql-test/r/rpl_log_pos.result:
Auto merged
mysql-test/r/rpl_rotate_logs.result:
Auto merged
mysql-test/t/fulltext.test:
Auto merged
mysql-test/t/rpl000001.test:
Auto merged
mysql-test/t/rpl000015.test:
Auto merged
mysql-test/t/rpl_log_pos.test:
Auto merged
mysql-test/t/rpl_rotate_logs.test:
Auto merged
Added check for duplicate column in key
Added tests and fixed tests which exploit bug
mysql-test/r/delete.result:
Fix test as it exploited Bug#6252
mysql-test/r/innodb.result:
Test for Bug#6126
mysql-test/r/key.result:
Test for Bug#6126/6252
mysql-test/r/type_blob.result:
Fix test as it exploited Bug#6252
mysql-test/t/delete.test:
Fix test as it exploited Bug#6252
mysql-test/t/innodb.test:
Test for Bug#6126
mysql-test/t/key.test:
Test for Bug#6126/6252
mysql-test/t/type_blob.test:
Fix test as it exploited Bug#6252
sql/sql_table.cc:
Bug#6252 - Duplicate columns in keys should fail
Added check for duplicate column.
BitKeeper/etc/logging_ok:
auto-union
Docs/Support/texi2html:
Auto merged
mysql-test/t/rpl000001.test:
Auto merged
mysql-test/t/rpl000015.test:
Auto merged
mysql-test/t/rpl_log_pos.test:
Auto merged
range for BETWEEN typo fixed
extra/perror.c:
meaningless error message fixed
heap/hp_rfirst.c:
Bug #6748 heap_rfirst() doesn't work (and never did!)
mysql-test/r/heap.result:
Bug #6748 heap_rfirst() doesn't work (and never did!)
mysql-test/r/range.result:
range for BETWEEN typo fixed
mysql-test/t/heap.test:
Bug #6748 heap_rfirst() doesn't work (and never did!)
sql/handler.cc:
Bug #6748 heap_rfirst() doesn't work (and never did!)
sql/sql_select.cc:
range for BETWEEN typo fixed
results." a.k.a. "Proper cleanup of subqueries is missing for SET and DO
statements". (Version #2 with after-review fixes).
To perform proper cleanup for statements that can contain subqueries
but don't have main select we must call free_undelaid_joins().
mysql-test/r/subselect.result:
Added test for bug #6462 "Same request on same data returns different
results." a.k.a. "Proper cleanup of subqueries is missing for SET and DO
statements".
mysql-test/t/subselect.test:
Added test for bug #6462 "Same request on same data returns different
results." a.k.a. "Proper cleanup of subqueries is missing for SET and DO
statements".
sql/set_var.cc:
Added missing cleanup of joins used in subqueries to SET statement.
sql/sql_do.cc:
Added missing cleanup of joins used in subqueries to DO statement.
- A new flag MY_CS_CSSORT was introduced for case sensitivity.
- Item_func_regexp doesn't substiture ICASE not only
for binary collations but for case sensitive collations as well.
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
of <parameter> IS NULL":
we must not only set Item::null_value in Item_param, but implement
Item_param::is_null() to work well with IS NULL/IS NOT NULL clauses.
mysql-test/r/ps.result:
Test case for Bug#6297: test results fixed.
mysql-test/t/ps.test:
A test case for Bug#6297 "prepared statement, wrong handling of
<parameter> IS NULL"
sql/item.h:
A fix for Bug#6297: we must not only set null_value in Item_param, but
also implement Item_param::is_null() to work well with IS NULL/
IS NOT NULL.
Item::is_null() commented.
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
client/Makefile.am:
Auto merged
client/mysqlbinlog.cc:
Auto merged
configure.in:
Auto merged
include/my_time.h:
Auto merged
innobase/fil/fil0fil.c:
Auto merged
innobase/include/fil0fil.h:
Auto merged
libmysql/libmysql.c:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/r/func_str.result:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/union.result:
Auto merged
mysql-test/t/func_group.test:
Auto merged
mysql-test/t/func_time.test:
Auto merged
sql/field.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
tests/client_test.c:
Auto merged
fixed bug: "create view v7 as select * from information_schema.tables;" failed
mysql-test/r/information_schema.result:
changed field names, fields order according to WL description
mysql-test/t/information_schema.test:
changed field names, fields order according to WL description
sql/sql_show.cc:
changed field names, fields order according to WL description
sql/sql_view.cc:
fixed bug: "create view v7 as select * from information_schema.tables;" failed
tests/client_test.c:
changed field names, fields order according to WL description
wrong datetime values for too big argument" from 4.0 tree to 4.1 tree.
mysql-test/r/func_time.result:
Manual merge
mysql-test/t/func_time.test:
Manual merge
sql/item_timefunc.cc:
Manual merge
properly" with main tree.
libmysql/libmysql.c:
Auto merged
sql-common/my_time.c:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
tests/client_test.c:
Manual merge.