without proper locking.
sql/sp_head.cc:
Added missing locking of LOCK_thread_count to place where ::query_id is
modified.
sql/sql_parse.cc:
Added comment to the only place where we are modifying ::query_id
without following locking protocol, to avoid mistakes in future.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/share/serbian/errmsg.txt:
Auto merged
include/mysqld_error.h:
for merge
mysql-test/r/loaddata.result:
for merge
mysql-test/r/warnings.result:
for merge
sql/share/czech/errmsg.txt:
for merge
sql/share/danish/errmsg.txt:
for merge
sql/share/dutch/errmsg.txt:
for merge
sql/share/english/errmsg.txt:
for merge
sql/share/estonian/errmsg.txt:
for merge
sql/share/french/errmsg.txt:
for merge
sql/share/german/errmsg.txt:
for merge
sql/share/greek/errmsg.txt:
for merge
sql/share/hungarian/errmsg.txt:
for merge
sql/share/italian/errmsg.txt:
for merge
sql/share/japanese/errmsg.txt:
for merge
sql/share/korean/errmsg.txt:
for merge
sql/share/norwegian-ny/errmsg.txt:
for merge
sql/share/norwegian/errmsg.txt:
for merge
sql/share/polish/errmsg.txt:
for merge
sql/share/portuguese/errmsg.txt:
for merge
sql/share/romanian/errmsg.txt:
for merge
sql/share/russian/errmsg.txt:
for merge
sql/share/slovak/errmsg.txt:
for merge
sql/share/spanish/errmsg.txt:
for merge
sql/share/swedish/errmsg.txt:
for merge
sql/share/ukrainian/errmsg.txt:
for merge
"replicate-wild-*-table=db.% does not apply to ALTER DATABASE"
apply replicate-* rules to ALTER DATABASE like we already do
for CREATE DATABASE/ DROP DATABASE.
sql/sql_parse.cc:
apply replicate-* rules to ALTER DATABASE like we already do
for CREATE DATABASE/ DROP DATABASE.
"--read-only gives weird error on update".
It is not fixable in 4.0 because it requires modifying
the sql/share/*/errmsg.txt files. So it is fixed in 4.1 like this:
the ER_SKIP_GRANT_TABLES is replaced by a more generic
ER_OPTION_PREVENTS_STATEMENT which can be used both for
"can't do this because of --skip-grant-tables" and
"can't do this because of --read-only" (for this we don't use
ER_CANT_UPDATE_WITH_READLOCK anymore).
So now the message for --read-only is:
"The MySQL server is running with the --read-only option so
cannot execute this statement".
include/mysqld_error.h:
more general naming as more general message
sql/share/czech/errmsg.txt:
message change
sql/share/danish/errmsg.txt:
message change
sql/share/dutch/errmsg.txt:
message change
sql/share/english/errmsg.txt:
message change
sql/share/estonian/errmsg.txt:
message change
sql/share/french/errmsg.txt:
message change
sql/share/german/errmsg.txt:
message change
sql/share/greek/errmsg.txt:
message change
sql/share/hungarian/errmsg.txt:
message change
sql/share/italian/errmsg.txt:
message change
sql/share/japanese/errmsg.txt:
message change
sql/share/korean/errmsg.txt:
message change
sql/share/norwegian-ny/errmsg.txt:
message change
sql/share/norwegian/errmsg.txt:
message change
sql/share/polish/errmsg.txt:
message change
sql/share/portuguese/errmsg.txt:
message change
sql/share/romanian/errmsg.txt:
message change
sql/share/russian/errmsg.txt:
message change
sql/share/serbian/errmsg.txt:
message change
sql/share/slovak/errmsg.txt:
message change
sql/share/spanish/errmsg.txt:
message change
sql/share/swedish/errmsg.txt:
message change
sql/share/ukrainian/errmsg.txt:
message change
sql/sql_acl.cc:
Changes to use the more generic ER_OPTION_PREVENTS_STATEMENT
instead of ER_SKIP_GRANT_TABLES:
* use of net_printf() instead of send_error() (because send_error()
does not support printf-like format).
* in some places we now just do my_error() and return -1
(only caller is mysql_execute_command() which does send_error()
if result is -1).
* Replaced my_printf_error() by simpler my_error() (except in 2 locations
where there was a "we must use my_printf_error()" comment).
sql/sql_parse.cc:
new error code (more generic).
mysql-test/r/lowercase_table.result:
test of multi-update/multi-delete
mysql-test/t/lowercase_table.test:
test of multi-update/multi-delete
sql/sql_cache.cc:
correct databese names comparation
sql/sql_parse.cc:
correct table names comparation in multi-delete
Phase 1: Introduced sp_name class, for qualified name support.
sql/item_func.cc:
Introduced sp_name class; moved some methods from item_func.h.
sql/item_func.h:
Introduced sp_name class; moved some methods to item_func.cc.
sql/sp.cc:
Introduced sp_name class, for qualified name support.
sql/sp.h:
Introduced sp_name class, for qualified name support.
sql/sp_cache.cc:
Introduced sp_name class, for qualified name support.
sql/sp_cache.h:
Introduced sp_name class, for qualified name support.
sql/sp_head.cc:
Introduced sp_name class, for qualified name support.
sql/sp_head.h:
Introduced sp_name class, for qualified name support.
sql/sql_lex.h:
Introduced sp_name class, for qualified name support.
sql/sql_parse.cc:
Introduced sp_name class, for qualified name support.
sql/sql_yacc.yy:
Introduced sp_name class, for qualified name support.
client/mysqldump.c:
Auto merged
configure.in:
Auto merged
include/m_ctype.h:
Auto merged
include/m_string.h:
Auto merged
include/my_global.h:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/fulltext.test:
Auto merged
mysql-test/t/grant.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/union.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_string.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
strings/ctype-mb.c:
Auto merged
strings/ctype-simple.c:
Auto merged
mysql-test/r/warnings.result:
Fix error numbers after merge
sql/share/czech/errmsg.txt:
Add missing ',' and fix typo
sql/share/danish/errmsg.txt:
Add missing ',' and fix typo
sql/share/dutch/errmsg.txt:
Add missing ',' and fix typo
sql/share/estonian/errmsg.txt:
Add missing ',' and fix typo
sql/share/french/errmsg.txt:
Add missing ',' and fix typo
sql/share/german/errmsg.txt:
Add missing ',' and fix typo
sql/share/greek/errmsg.txt:
Add missing ',' and fix typo
sql/share/hungarian/errmsg.txt:
Add missing ',' and fix typo
sql/share/italian/errmsg.txt:
Add missing ',' and fix typo
sql/share/japanese/errmsg.txt:
Add missing ',' and fix typo
sql/share/korean/errmsg.txt:
Add missing ',' and fix typo
sql/share/norwegian-ny/errmsg.txt:
Add missing ',' and fix typo
sql/share/norwegian/errmsg.txt:
Add missing ',' and fix typo
sql/share/polish/errmsg.txt:
Add missing ',' and fix typo
sql/share/portuguese/errmsg.txt:
Add missing ',' and fix typo
sql/share/romanian/errmsg.txt:
Add missing ',' and fix typo
sql/share/russian/errmsg.txt:
Add missing ',' and fix typo
sql/share/slovak/errmsg.txt:
Add missing ',' and fix typo
sql/share/spanish/errmsg.txt:
Add missing ',' and fix typo
sql/share/swedish/errmsg.txt:
Add missing ',' and fix typo
sql/share/ukrainian/errmsg.txt:
Add missing ',' and fix typo
Added more DBUG statements
Ensure that we are comparing end space with BINARY strings
Use 'any_db' instead of '' to mean any database. (For HANDLER command)
Only strip ' ' when comparing CHAR, not other space-like characters (like \t)
BitKeeper/deleted/.del-ctype_tis620.result-old~3578ceb0b8284685:
Delete: mysql-test/r/ctype_tis620.result-old
BitKeeper/deleted/.del-ctype_tis620.test-old~ffb1bbd2935d1aba:
Delete: mysql-test/t/ctype_tis620.test-old
client/mysqlbinlog.cc:
Added DBUG statements
Added call of my_end() to free all used memory on exit
heap/hp_info.c:
After merge fixes
heap/hp_open.c:
After merge fixes
include/heap.h:
After merge fixes
include/m_ctype.h:
Use pchar instead of 'int' for character parameters.
Added 'my_binary_compare()'
include/m_string.h:
Fixed wrong define
innobase/ibuf/ibuf0ibuf.c:
After merge fixes
innobase/srv/srv0start.c:
After merge fixes
mysql-test/r/alter_table.result:
Fixed results after merge
mysql-test/r/auto_increment.result:
Fixed results after merge
mysql-test/r/bdb.result:
Fixed results after merge
mysql-test/r/binary.result:
Fixed results after merge
mysql-test/r/create.result:
Fixed results after merge
mysql-test/r/ctype_mb.result:
Fixed results after merge
mysql-test/r/ctype_tis620.result:
Fixed results after merge
mysql-test/r/ctype_utf8.result:
Fixed results after merge
mysql-test/r/delete.result:
Fixed results after merge
mysql-test/r/func_compress.result:
Fixed results after merge
mysql-test/r/func_gconcat.result:
Fixed results after merge
mysql-test/r/func_group.result:
Fixed results after merge
mysql-test/r/func_str.result:
Fixed results after merge
mysql-test/r/innodb.result:
Fixed results after merge
mysql-test/r/insert.result:
Fixed results after merge
mysql-test/r/insert_select.result:
Fixed results after merge
mysql-test/r/key.result:
Fixed results after merge
mysql-test/r/loaddata.result:
Fixed results after merge
mysql-test/r/lock.result:
Fixed results after merge
mysql-test/r/myisam.result:
Fixed results after merge
mysql-test/r/null.result:
Fixed results after merge
mysql-test/r/null_key.result:
Fixed results after merge
mysql-test/r/order_by.result:
Fixed results after merge
mysql-test/r/query_cache.result:
Fixed results after merge
mysql-test/r/range.result:
Fixed results after merge
mysql-test/r/rpl_multi_delete.result:
Fixed results after merge
mysql-test/r/rpl_until.result:
Fixed results after merge
mysql-test/r/subselect.result:
Fixed results after merge
mysql-test/r/subselect_innodb.result:
Fixed results after merge
mysql-test/r/type_blob.result:
Fixed results after merge
mysql-test/r/type_datetime.result:
Fixed results after merge
mysql-test/r/type_decimal.result:
Fixed results after merge
mysql-test/r/type_enum.result:
Fixed results after merge
mysql-test/r/type_float.result:
Fixed results after merge
mysql-test/r/type_ranges.result:
Fixed results after merge
mysql-test/r/type_time.result:
Fixed results after merge
mysql-test/r/type_timestamp.result:
Fixed results after merge
mysql-test/r/type_uint.result:
Fixed results after merge
mysql-test/r/type_year.result:
Fixed results after merge
mysql-test/r/variables.result:
Fixed results after merge
mysql-test/r/warnings.result:
Fixed results after merge
mysql-test/t/case.test:
Fixed shifted error messages
mysql-test/t/create.test:
Fixed shifted error messages
mysql-test/t/ctype_collate.test:
Fixed shifted error messages
mysql-test/t/ctype_tis620.test:
Merge with 4.0 ctype_tis620 test
mysql-test/t/delete.test:
Fixed shifted error messages
mysql-test/t/derived.test:
Fixed shifted error messages
mysql-test/t/fulltext.test:
Fixed shifted error messages
mysql-test/t/func_in.test:
Fixed shifted error messages
mysql-test/t/func_str.test:
Fixed shifted error messages
mysql-test/t/func_test.test:
Fixed shifted error messages
mysql-test/t/grant.test:
Fixed shifted error messages
mysql-test/t/innodb.test:
Change to 4.1 syntax
mysql-test/t/key_cache.test:
Fixed shifted error messages
mysql-test/t/myisam.test:
New test of blob and end space
mysql-test/t/row.test:
Fixed shifted error messages
mysql-test/t/rpl_until.test:
Fixed shifted error messages
mysql-test/t/subselect.test:
Fixed shifted error messages
mysql-test/t/subselect_innodb.test:
Fix test to take into account foreign key constraints
mysql-test/t/union.test:
Fixed shifted error messages
mysql-test/t/user_var.test:
Fixed shifted error messages
mysql-test/t/variables.test:
Fixed shifted error messages
mysys/my_handler.c:
Merge with 4.0 code
sql/ha_heap.cc:
After merge fixes
sql/handler.cc:
After merge fixes
sql/item.cc:
After merge fixes
sql/item_cmpfunc.cc:
Ensure that we are comparing end space with BINARY strings
sql/item_cmpfunc.h:
Ensure that we are comparing end space with BINARY strings
sql/log_event.cc:
More DBUG statements
Ensure that we use all options to LOAD DATA in replication
sql/opt_range.cc:
After merge fixes
sql/sql_db.cc:
After merge fixes
sql/sql_handler.cc:
After merge fixes
Use 'any_db' instead of '' to mean 'no database comparison'
sql/sql_parse.cc:
After merge fixes
sql/sql_select.cc:
After merge fixes
Added function comment for setup_group()
sql/sql_string.cc:
Added stringcmp() for binary comparison.
Added function comments for sortcmp() and stringcmp()
sql/sql_string.h:
Added stringcmp()
sql/sql_table.cc:
After merge fixes
sql/sql_update.cc:
After merge fixes
sql/sql_yacc.yy:
Use 'any_db' instead of '' to mean any database. Using "" causes a 'wrong db name' error.
strings/ctype-big5.c:
Strip only end space, not other space characters.
strings/ctype-bin.c:
Removed some not needed functions.
Added function comments
Don't remove end space in comparisons
Change my_wildcmp_bin() to be 'identical' with other similar code
strings/ctype-czech.c:
Strip only end space, not other space characters.
strings/ctype-gbk.c:
Strip only end space, not other space characters.
strings/ctype-latin1.c:
Strip only end space, not other space characters.
strings/ctype-mb.c:
Strip only end space, not other space characters.
strings/ctype-simple.c:
Strip only end space, not other space characters.
strings/ctype-sjis.c:
Strip only end space, not other space characters.
strings/ctype-tis620.c:
Added usage of my_instr_simple. This needs to be cleaned up!
strings/ctype-utf8.c:
Strip only end space, not other space characters.
strings/ctype-win1250ch.c:
Strip only end space, not other space characters.
Fixed indentation
strings/strto.c:
Code cleanup
now it's working
include/mysql.h:
read_change_user_result 'virtual' method added
libmysql/client_settings.h:
cli_read_change_user_result interface
libmysql/libmysql.c:
cli_read_change_user_result implementation
libmysqld/lib_sql.cc:
emb_read_change_user_result implementation
sql-common/client.c:
cli_read_change_user_result added to the method's table
sql/sql_parse.cc:
fixes to make mysql_change_user working in embedded library
into mysql.com:/home/pem/work/mysql-5.0-merge
client/mysql.cc:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
sql/item.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
tests/client_test.c:
Auto merged
previous one had error
libmysqld/lib_sql.cc:
memdup_mysql deleted
sql/sql_class.h:
String instead of char*
sql/sql_parse.cc:
storing of the rest of the query
into sanja.is.com.ua:/home/bell/mysql/bk/work-limit-4.1
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/sql_lex.cc:
Auto merged
"MySQL server does not detect if garbage chara at the end of query"
Allow the parser to see the garbage characters.
Garbage should cause the parser to report an error.
sql/sql_lex.cc:
Return END_OF_INPUT when at the end of the input buffer.
Allows the parser to determine if there is junk after a \0 character.
sql/sql_parse.cc:
Undo 1.314.1.1 04/02/11 12:32:42 guilhem@mysql.com
sql/sql_prepare.cc:
Undo 1.73 04/02/11 12:32:42 guilhem@mysql.com
"MySQL server does not detect if garbage chars at the end of query":
Detect garbage chars at the end of the query or at the end of a query
for a prepared statement (which happens if mysql_real_query() or mysql_prepare()
were called with a too big 'length' parameter (bigger than the real intended
length of the query: then we receive a query + garbage characters from the
client). This resulted in garbage chars written into the binlog.
Now instead the client receives something like:
'You have an error in your SQL syntax. Check the manual that corresponds
to your MySQL server version for the right syntax to use near '!stmt'
at line 1' i.e. the server is pointing at the weird tail of the query
(this '!stmt' are the garbage chars sent by the client).
All tests pass, except mysqldump.test and ctype_utf8.test but they failed
before the patch.
sql/sql_parse.cc:
Detect garbage chars at the end of the query
(which happens if mysql_real_query() was called with a too big 'length'
parameter (bigger than the real intended length of the query: then
we receive a query + garbage characters from the client).
sql/sql_prepare.cc:
Detect garbage chars at the end of the query
(which happens if mysql_prepare() was called with a too big 'length'
parameter (bigger than the real intended length of the query: then
we receive a query + garbage characters from the client).
tests/client_test.c:
The change to sql_parse.cc and sql_prepare.cc rightfully gives many
syntax errors to tests/client_test.c which is full of
mysql_prepare(mysql, "SHOW TABLES", 100).
Correcting all these commands.
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
mysql-test/r/ctype_tis620.result-old:
Merge rename: mysql-test/r/ctype_tis620.result -> mysql-test/r/ctype_tis620.result-old
BUILD/compile-pentium-max:
Auto merged
BitKeeper/etc/config:
Auto merged
Build-tools/Bootstrap:
Auto merged
Build-tools/Do-compile:
Auto merged
configure.in:
Auto merged
mysql-test/t/ctype_tis620.test-old:
Merge rename: mysql-test/t/ctype_tis620.test -> mysql-test/t/ctype_tis620.test-old
Docs/Makefile.am:
Auto merged
client/mysqldump.c:
Auto merged
client/mysqltest.c:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/my_sys.h:
Auto merged
include/myisam.h:
Auto merged
innobase/btr/btr0cur.c:
Auto merged
innobase/ibuf/ibuf0ibuf.c:
Auto merged
innobase/include/dict0dict.h:
Auto merged
innobase/include/srv0srv.h:
Auto merged
innobase/include/ut0mem.h:
Auto merged
innobase/log/log0log.c:
Auto merged
innobase/row/row0ins.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
innobase/ut/ut0mem.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_dynrec.c:
Auto merged
myisam/mi_key.c:
Auto merged
myisam/myisam_ftdump.c:
Auto merged
myisam/myisamdef.h:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/alter_table.result:
Auto merged
mysql-test/r/bdb.result:
Auto merged
mysql-test/r/bigint.result:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
BitKeeper/etc/logging_ok:
auto-union
configure.in:
Auto merged
BitKeeper/deleted/.del-opt_ft.cc~2048ffa561f9c59:
Auto merged
BitKeeper/deleted/.del-opt_ft.h~24aac1d29304599a:
Auto merged
client/mysql.cc:
Auto merged
include/my_global.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/mi_check.c:
Auto merged
mysql-test/install_test_db.sh:
Auto merged
mysql-test/r/multi_update.result:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/null.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/multi_update.test:
Auto merged
mysql-test/t/null.test:
Auto merged
mysql-test/t/rpl_until.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/Makefile.am:
Auto merged
sql/filesort.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_create.h:
Auto merged
sql/item_func.h:
Auto merged
sql/item_subselect.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/protocol.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/slave.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql-common/client.c:
Auto merged
now we execute only one first select during mysql_real_query
others - during 'mysql_next_result'
include/mysql.h:
'virtual' next_result added
libmysql/client_settings.h:
cli_next_result declaration added
libmysql/libmysql.c:
mysql_next_result now works in embedded library as well
libmysqld/lib_sql.cc:
emb_next_result implemented
sql/sql_class.h:
fields to store the rest of the query added
sql/sql_parse.cc:
Saving the rest of the query added for embedded case
mysql-test/r/derived.result:
test of error handling in derived tables with UPDATE & DELETE
mysql-test/t/derived.test:
test of error handling in derived tables with UPDATE & DELETE
sql/mysql_priv.h:
opened tables counter added to avoid loop of tables calculating in lock_tables
sql/sql_acl.cc:
opened tables counter added to avoid loop of tables calculating in lock_tables, here it is just for compatibility
sql/sql_base.cc:
removed unneeded assignment
opened tables counter added to avoid loop of tables calculating in lock_tables
commentary fixed
sql/sql_derived.cc:
mysql_derived made static
variable res moved in place where it used
priveleges written in correct place
sql/sql_handler.cc:
opened tables counter added to avoid loop of tables calculating in lock_tables
sql/sql_parse.cc:
mistyping in commentary fixed
into sanja.is.com.ua:/home/bell/mysql/bk/work-derived2-4.1
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_update.cc:
Auto merged
mysql-test/r/subselect.result:
test of global limit and subqueries
mysql-test/t/subselect.test:
test of global limit and subqueries
sql/sql_lex.cc:
correct detection of non-default limits
sql/sql_parse.cc:
correct assignment of default limit
sql/sql_yacc.yy:
correct assignment of default limit
Now one need only SELECT privilege for tables that are only read in
UPDATE statements with many tables. (Bug #2377).
sql/sql_acl.cc:
Comment cleanup
sql/sql_parse.cc:
Merged duplicate code.
Removed some outdated 'tables->db' tests.
Check privileges for multi-updates properly (Bug #2377)
sql/sql_show.cc:
Remove disabled code
sql/sql_update.cc:
Ensure that privileges are tested properly for multi-table-updates
tests/grant.pl:
Added more tests
tests/grant.res:
updated results
into sanja.is.com.ua:/home/bell/mysql/bk/work-derived2-4.1
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
fixed BUG#2120 and other problem with EXPLAINing derived tables
mysql-test/r/derived.result:
correct tables names & Co in derived tables
test case for BUG#2120
mysql-test/t/derived.test:
test case for BUG#2120
sql/mysql_priv.h:
derived tables processing moved after open/locking all tables (in open_and_lock_tables)
sql/repl_failsafe.cc:
correct initialization of TABLE_LIST
sql/sql_acl.cc:
used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX
sql/sql_base.cc:
derived tables processing moved after open/locking all tables (in open_and_lock_tables)
sql/sql_delete.cc:
all tables processing is done during opening
sql/sql_derived.cc:
derived tables processing moved after open/locking all tables (in open_and_lock_tables) to sutisfy "all query tables locking" at the moment
sql/sql_insert.cc:
all tables processing is done during opening
correct initialization of TABLE_LIST
sql/sql_lex.cc:
now table list will be created for whole query
layout fix
correct check of updated table in subqueries
sql/sql_lex.h:
now table list will be created for whole query
correct check of updated table in subqueries
sql/sql_olap.cc:
THIS FUNCTION IS USED NOWHERE
it will be good to remove it at all (handle_olaps)
sql/sql_parse.cc:
derived tables processing moved after open/locking all tables (in open_and_lock_tables)
sql/sql_prepare.cc:
new creating list parameters
all tables processing is done during opening
sql/sql_select.cc:
all tables processing is done during opening
sql/sql_select.h:
now it used only within file where is defined
sql/sql_udf.cc:
used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX
sql/sql_update.cc:
all tables processing is done during opening
values for TIMESTAMP columns. The solution is not perfect since
we just silently ignoring default value for first TIMESTAMP
column and properly reflecting this fact in SHOW CREATE TABLE.
We can't give a warning or simply support standard syntax
(niladic functions as legal value for default) for first field
since it is 4.0 tree.
mysql-test/r/type_timestamp.result:
Added test for bugs #1885, #2464, #2539
(proper support of default values for TIMESTAMP columns)
mysql-test/t/type_timestamp.test:
Added test for bugs #1885, #2464, #2539
(proper support of default values for TIMESTAMP columns)
sql/field.cc:
Enabled copying of defaults for TIMESTAMP fields when we are
creating table with CREATE TABLE x (SELECT ...)
sql/field.h:
Set proper DEFAULT value for non-first TIMESTAMP column.
sql/sql_parse.cc:
Allowed default values for TIMESTAMP column.
sql/sql_show.cc:
Enabled printing of default values in SHOW CREATE TABLE and
SHOW COLUMNS for all TIMESTAMP columns except first one.
(as long as replicate-*-table rules were defined, multi-table DELETE was never
replicated by the slave).
sql/sql_parse.cc:
For a multi-table DELETE, there are two lists of tables:
- 'tables' contains the tables in the FROM. They have 'updating==0'.
- 'thd->lex.auxilliary_table_list.first' contains the tables between the DELETE and the FROM. They have 'updating==1'.
So the bug was that the slave only tests 'tables' and as all its elements have updating==0,
tables_ok() always returns 0.
So for a multi DELETE the slave now tests the 2nd list too.
I started with the other tip of the sausage: I thought of changing multi DELETE to use
only one list (given that 'updating' can be used to separate it in two when needed)
(with one list we wouldn't need to change the slave code), but finally hit the unicity
check in add_table_to_list() which started to return ER_NONUNIQ_TABLE (logical).
sql/sql_parse.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/derived.result:
SCCS merged
mysql-test/t/derived.test:
e
merge
mysql-test/t/multi_update.test:
new results of changed multi-delete
mysql-test/t/update.test:
new results of changed multi-delete
mysql-test/r/multi_update.result:
new results of changed multi-delete
mysql-test/r/update.result:
new results of changed multi-delete
Some errorneous code trimmed
sql/item.cc:
initialization of the Item_type_holder::orig_item added
sql/item.h:
No use to call cleanup() in ~Item
this only calls Item::cleanup()
We should use item->delete_self() instead of 'delete item' now
Code added to restore Item_type_holder::item_type value
sql/item_row.h:
this cleanup is wrong
sql/item_sum.cc:
initialization added
sql/item_sum.h:
Item_xxx& -> Item_xxx*
sql/sql_parse.cc:
delete item -> item->delete_self()
Fix for a bug #2219, regarding a bad cast to integer from NULL
item_func.h:
Fix for a bug #2219, regarding a bad cast to integer from NULL
sql_parse.cc:
A fix for a bug #2207, with mysql server haning on option setting
sql/sql_parse.cc:
A fix for a bug #2207, with mysql server haning on option setting
sql/item_func.h:
Fix for a bug #2219, regarding a bad cast to integer from NULL
mysql-test/t/null.test:
Fix for a bug #2219, regarding a bad cast to integer from NULL
mysql-test/r/null.result:
Fix for a bug #2219, regarding a bad cast to integer from NULL
allow delete table by alias in multi-delete statement
include/mysqld_error.h:
new error message about non-updateable table
mysql-test/r/derived.result:
test of multi-update and multi-delete
mysql-test/t/derived.test:
test of multi-update and multi-delete
sql/share/czech/errmsg.txt:
new error message about non-updateable table
sql/share/danish/errmsg.txt:
new error message about non-updateable table
sql/share/dutch/errmsg.txt:
new error message about non-updateable table
sql/share/english/errmsg.txt:
new error message about non-updateable table
sql/share/estonian/errmsg.txt:
new error message about non-updateable table
sql/share/french/errmsg.txt:
new error message about non-updateable table
sql/share/german/errmsg.txt:
new error message about non-updateable table
sql/share/greek/errmsg.txt:
new error message about non-updateable table
sql/share/hungarian/errmsg.txt:
new error message about non-updateable table
sql/share/italian/errmsg.txt:
new error message about non-updateable table
sql/share/japanese/errmsg.txt:
new error message about non-updateable table
sql/share/korean/errmsg.txt:
new error message about non-updateable table
sql/share/norwegian-ny/errmsg.txt:
new error message about non-updateable table
sql/share/norwegian/errmsg.txt:
new error message about non-updateable table
sql/share/polish/errmsg.txt:
new error message about non-updateable table
sql/share/portuguese/errmsg.txt:
new error message about non-updateable table
sql/share/romanian/errmsg.txt:
new error message about non-updateable table
sql/share/russian/errmsg.txt:
new error message about non-updateable table
sql/share/serbian/errmsg.txt:
new error message about non-updateable table
sql/share/slovak/errmsg.txt:
new error message about non-updateable table
sql/share/spanish/errmsg.txt:
new error message about non-updateable table
sql/share/swedish/errmsg.txt:
new error message about non-updateable table
sql/share/ukrainian/errmsg.txt:
new error message about non-updateable table
sql/sql_parse.cc:
allow delete table by alias
separate error message for try to delete derived table
sql/sql_update.cc:
test "is updated table derived?"
sql/sql_yacc.yy:
error message in case of try to update derived table
Added support for lower_case_table_names=2, which is to be used on case insensitive file systems.
This tells MySQL to preserve the used case of filenames and database names to make it esier to move files between cases sensitive can case insensitive file systems (like Windows and Linux)
client/mysqltest.c:
Indentation cleanup
include/myisam.h:
Made some pointers 'const'
mysql-test/mysql-test-run.sh:
Portability fix for OSX
sql/filesort.cc:
Safety fix (not needed for current code but needed for 5.0)
sql/ha_berkeley.cc:
More debugging
Changed 'create' to return error number
sql/ha_berkeley.h:
Added HA_FILE_BASED
sql/ha_innodb.cc:
Added missing DBUG_RETURN
sql/ha_isam.cc:
Changed create to return error number
sql/ha_isam.h:
Added HA_FILE_BASED
sql/ha_isammrg.h:
Added HA_FILE_BASED
sql/ha_myisam.cc:
Changed create to return error number
sql/ha_myisam.h:
Added HA_FILE_BASED
sql/ha_myisammrg.cc:
Changed create to return error number
sql/ha_myisammrg.h:
Added HA_FILE_BASED
sql/handler.cc:
Ensure that table engines gets table names in lower case even if we are using lower_case_table_names
Removed test for DB_TYPE_INNODB by ensuring that create method returns error number.
sql/handler.h:
Added HA_FILE_BASED
Made some struct entries 'const'
Added 'alias' for create to be able to create tables in mixed case on case insensitive file systems
sql/mysql_priv.h:
Support for lower_case_table_names=2
sql/mysqld.cc:
Support for lower_case_table_names=2
Moved test of case insenstive file system after all mutex are created
sql/set_var.cc:
Support for lower_case_table_names=2
sql/sql_class.h:
Indentation change
sql/sql_db.cc:
Support for lower_case_table_names=2
sql/sql_insert.cc:
Indentation change
sql/sql_parse.cc:
Support for lower_case_table_names=2
sql/sql_rename.cc:
Support for lower_case_table_names=2
Added missing 'unpack_filename' to RENAME which may fix a bug in RENAME TABLE on windows
sql/sql_show.cc:
If lower_case_table_name=2 is given, show original case in SHOW CREATE TABLE
sql/sql_table.cc:
Support for lower_case_table_names=2 for DROP TABLE, RENAME TABLE, ALTER TABLE and CREATE TABLE
Fix for the bug 1175: Usernames will not converted to utf8 during connect
sql/sql_parse.cc:
Fix for the bug 1175: Usernames will not converted to utf8 during connect
Some code cleanup
mysql-test/r/sp.result:
Update results after adding quotes around function/procedure names
sql/sp.cc:
Moved DBUG_ENTER after all variable declarations
Eliminated some variables.
Added more DBUG_ENTER commands.
Added memory allocation checking in create_string()
Fixed memory leak in sp_show_create_function()
Removed usage of sprintf
sql/sql_parse.cc:
Simple cleanup
Fixed memory leaks for mailformed SP definitions
libmysqld/lib_sql.cc:
Prepared_statement now resides entirely in sql_prepare.cc
Embedded versions of setup_params_data moved to sql_prepare.cc
sql/mysql_priv.h:
removed declarations for non-existing functions
sql/slave.cc:
no thd->init_for_queries() any more
sql/sql_class.cc:
added Statement and Statement_map classes.
PREP_STMT replaced with Statement (Prepared_statement) and moved to
sql_prepare.cc
sql/sql_class.h:
added Statement and Statement_map classes.
PREP_STMT replaced with Statement (Prepared_statement) and moved to
sql_prepare.cc
sql/sql_parse.cc:
thd->init_for_queries() doesn't exist any more
comment moved to proper place
sql/sql_prepare.cc:
PREP_STMT replaced with Prepared_statement
minor code cleanups
tests/client_test.c:
Later in the test we rely on order of rows, which normally is not defined.
My patch changes the order.
libmysqld/lib_sql.cc:
Auto merged
sql/filesort.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/protocol.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_error.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_update.cc:
Auto merged