include/mysqld_error.h:
New error code for missing ELSE in SP CASE statement.
include/sql_state.h:
New error code for missing ELSE in SP CASE statement.
mysql-test/r/sp-error.result:
Test case for missing ELSE in SP CASE statement.
mysql-test/t/sp-error.test:
Test case for missing ELSE in SP CASE statement.
sql/share/czech/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/danish/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/dutch/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/english/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/estonian/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/french/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/german/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/greek/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/hungarian/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/italian/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/japanese/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/korean/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/norwegian-ny/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/norwegian/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/polish/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/portuguese/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/romanian/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/russian/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/serbian/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/slovak/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/spanish/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/swedish/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/share/ukrainian/errmsg.txt:
New error message for missing ELSE in SP CASE statement.
sql/sql_yacc.yy:
Generate run-time error instruction when no ELSE in SP CASE statement.
Added new test cases for this, and adjusted old tests accordingly,
and new error codes and messages.
Fixed bugs in some tests (bug2673 and use test).
Added debug printing of instructions in SPs.
include/mysqld_error.h:
New error codes for non-standard declaration order in SPs.
include/sql_state.h:
New error codes for non-standard declaration order in SPs.
mysql-test/r/sp-error.result:
Enforce standard declaration order.
Fixed syntax error in use-test.
New test cases for wrong order.
mysql-test/r/sp.result:
Enforce strict declaration order.
Fixed platform dependent bug2673 test.
mysql-test/t/sp-error.test:
Enforce standard declaration order.
Fixed syntax error in use-test.
New test cases for wrong order.
mysql-test/t/sp.test:
Enforce strict declaration order.
Fixed platform dependent bug2673 test.
sql/share/czech/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/danish/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/dutch/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/english/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/estonian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/french/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/german/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/greek/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/hungarian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/italian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/japanese/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/korean/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/norwegian-ny/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/norwegian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/polish/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/portuguese/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/romanian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/russian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/serbian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/slovak/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/spanish/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/swedish/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/share/ukrainian/errmsg.txt:
New error messages for strict (standard) declaration order in SPs.
sql/sp_head.cc:
Debug printing of instructions in procedures.
New error instruction for future use.
sql/sp_head.h:
Debug printing of instructions in procedures.
New error instruction for future use.
sql/sql_string.cc:
New methods needed by debug printing of instruction in SPs.
sql/sql_string.h:
New methods needed by debug printing of instruction in SPs.
sql/sql_yacc.yy:
Check for standard order of declarations in SPs.
No need to check for result existence any more, store_result functions
now are shorter.
cli_read_binary_rows rewritten to handle MYSQL_DATA directly.
include/mysql.h:
MYSQL_RES * pointer replaced with MYSQL_DATA: it saves us at least 2 mallocs
per store_result and simplifies stored result handling.
Plus it's done with cursor fetch in mind: cursor fetch will use this
structure to buffer fetched rows.
libmysql/client_settings.h:
signature of cli_read_binary_rows changed
libmysql/libmysql.c:
MYSQL_DATA is now used to handle result.
cli_read_binary_rows rewritten to use MYSQL_DATA directly.
libmysql/libmysql.def:
declarations of new calls in the library
libmysqld/lib_sql.cc:
MYSQL_DATA is now used to handle result.
cli_read_binary_rows rewritten to use MYSQL_DATA directly.
Actually it is not a bug but right behavior observed as pefomance
degradation after we have forced Item_field::fix_fields() to
re-execute each time when we are executing prep stmt.
This patch implements small optimization which heals this bad
behavior. We are caching field position in TABLE::field array in
Item's member and are using this position for speeding up field
lookups in fix_fields() in case of its re-execution.
sql/item.cc:
Added cached_field_index member to Item_ident for caching field
position in TABLE::field array for quicker field lookup in case
fix_fields() is executed twice.
sql/item.h:
Added cached_field_index member to Item_ident for caching field
position in TABLE::field array for quicker field lookup in case
fix_fields() is executed twice.
sql/mysql_priv.h:
Now find_field_in_table has one more in-out parameter which is used
for caching field index in TABLE::field array stored for quicker
field look up.
sql/sql_acl.cc:
Now find_field_in_table has one more in-out parameter which is used
for caching field index in TABLE::field array stored for quicker
field look up.
sql/sql_base.cc:
Optimization: Now when we are looking up Field by its name we are
caching its position in TABLE::field array in Item_ident::cached_field_index,
so when we will call fix_fields() second time for this item (e.g.
when we are re-executing prep statement) we can reuse this index
to speed up this lookup.
sql/table.cc:
Now we storing in TABLE::name_hash pointers to elements of
TABLE::field array, because this allows easily retrieve index
of field in this array when it is looked up by its name.
sql/table.h:
Added comment claryfying what we store in TABLE::name_hash.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
that it tested the privilege in ::update() whereas it should be
in ::check() (see email from Serg, subject
"Re: bk commit - 4.1 tree (guilhem:1.1706)").
So I add instead a check_func function to sys_var_thd_bit.
I do the same addition to sys_var_thd_ulong, to unify handling
of PSEUDO_THREAD_ID with the one of SQL_LOG_BIN. So class
sys_var_pseudo_thread_id is not needed anymore, removing it.
mysql-test/r/rpl_temporary.result:
result update
mysql-test/t/rpl_temporary.test:
tests after new way of fixing; verify that when second variable
assignment is refused then first is not done.
sql/set_var.cc:
a check_func (check_log_update) when setting SQL_LOG_BIN,
and one when setting PSEUDO_THREAD_ID.
Removing class sys_var_pseudo_thread_id.
Updates for new prototypes of constructor in sys_var_thd_bit
and sys_var_thd_ulong.
sql/set_var.h:
Adding check_func to sys_var_thd_bit.
Adding check_func to sys_var_thd_ulong, so class sys_var_pseudo_thread_id
is not needed anymore, removing it.
"Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
mysql-test/r/bdb-crash.result:
added test for bug #2342
"Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
mysql-test/t/bdb-crash.test:
added test for bug #2342
"Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
sql/handler.h:
added constant HA_ADMIN_REJECT
sql/sql_table.cc:
added processing of HA_ADMIN_REJECT in ha_berkley::analyze
"Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
1. added new status HA_ADMIN_REJECT and processing of it in mysql_admin_table
2. got ha_berkley::analyze to return HA_ADMIN_REJECT if there are any
transactions with the table..
mysql-test/r/bdb-crash.result:
added test for bug #2342
"Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
mysql-test/t/bdb-crash.test:
added test for bug #2342
"Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
sql/ha_berkeley.cc:
fixed bug #2342
"Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
we have to return new status "HA_ADMIN_REJECT" for ha_berkley::analyze
if there are any transaction for this table
so as bdb documentation says:
"The DB->stat method cannot be transaction protected"
sql/handler.h:
added new status of table info "HA_ADMIN_REJECT"
We have to return this status for bdb tables which
have any active transactions so as bdb-documentation says:
"The DB->stat method cannot be transaction-protected"
sql/sql_table.cc:
added processing of the new status HA_ADMIN_REJECT in mysql_admin_table
(reason to add this status is explained in comment
for commit on sql/handler.h)
into mysql.com:/home/mysql_src/mysql-4.1
mysql-test/r/rpl_temporary.result:
Auto merged
mysql-test/t/rpl_temporary.test:
Auto merged
sql/set_var.cc:
Auto merged
user is not SUPER, instead of setting the value but ignoring it
silently internally.
mysql-test/r/rpl_temporary.result:
result update
mysql-test/t/rpl_temporary.test:
adding test for privileges for SET SQL_LOG_BIN
sql/log.cc:
don't need to check SUPER
sql/set_var.cc:
refuse SET SQL_LOG_BIN if not SUPER
sql/sql_insert.cc:
Don't need to check SUPER
init the binlog_cache (THD::transaction.trans_log).
I have checked all places where trans_log is used, because as now
it may not be inited in some cases, we have to be cautious
(will forward this commit mail to Heikki).
sql/handler.cc:
Do not use the transaction binlog cache if binlog is not open
sql/sql_class.cc:
We do not init the transaction binlog cache if binlog is not open.
This saves 32 KB memory per thread, if --log-bin is not used.
sql/sql_class.h:
warning comment
Backport from 4.1: make mem_current_allocated_memory global variable
innobase/mem/mem0dbg.c:
Backport from 4.1: make mem_current_allocated_memory global variable
Let mem_current_allocated_memory be a global variable, because it is used in an .ic file if UNIV_MEM_DEBUG is defined
innobase/mem/mem0dbg.c:
Let mem_current_allocated_memory be a global variable, because it is used in an .ic file if UNIV_MEM_DEBUG is defined
result of the test case for FORCE INDEX on ORDER BY
order_by.test:
test case for FORCE INDEX on ORDER BY
sql_select.cc:
Changing behaviour that MySQL server takes FORCE INDEX clause into account when optimising ORDER BY clause
sql/sql_select.cc:
Changing behaviour that MySQL server takes FORCE INDEX clause into account when optimising ORDER BY clause
mysql-test/t/order_by.test:
test case for FORCE INDEX on ORDER BY
mysql-test/r/order_by.result:
result of the test case for FORCE INDEX on ORDER BY
This fixed a bug in SELECT DISTINCT when all selected parts where constants. (Bug #3203)
myisam/mi_create.c:
Allow keys with 0 segements.
mysql-test/r/myisam.result:
Test for problem with SELECT DISTINCT
mysql-test/t/myisam.test:
Test for problem with SELECT DISTINCT
BINARY(N) and VARBIBARY(N)
2. More 4.0 compatibility and more BINARY keyword consistency:
2a. CREATE TABLE a (a CHAR(N) BINARY)
is now synonym for
CREATE TABLE a (a CHAR(N) COLLATE xxxx_bin)
2b. SELECT BINARY x
is still synonin for
SELECT x COLLATE xxxxx_bin.
mysql-test/r/alter_table.result:
Updated results after merge
mysql-test/r/drop_temp_table.result:
Updated results after merge
mysql-test/r/union.result:
Updated results after merge
sql/sql_db.cc:
optimization: Use my_stat() instead of my_dir() to test if directory exists
sql/sql_union.cc:
Fixed error in merge
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-libmysql.def~f5dffcb3ed925d28:
Auto merged
BitKeeper/deleted/.del-post-incoming~9f2168f531f09f3b:
Auto merged
BitKeeper/deleted/.del-post-outgoing~1dd3d8f0f6e8f3cd:
Auto merged
VC++Files/innobase/innobase.dsp:
Auto merged
VC++Files/strings/MASM6x/strings.dsp:
Auto merged
client/mysqldump.c:
Auto merged
innobase/sync/sync0sync.c:
Auto merged
myisam/mi_check.c:
Auto merged
mysql-test/t/union.test:
Auto merged
mysql-test/t/update.test:
Auto merged
mysys/mf_iocache.c:
Auto merged
sql/nt_servc.cc:
Auto merged
mysql-test/r/system_mysql_db.result:
Auto merged
sql/sql_base.cc:
Auto merged
include/mysql.h:
cleanup of load data infile patch
libmysql/libmysql.c:
cleanup of load data infile patch
myisam/mi_search.c:
Added missing assert.h
mysql-test/r/func_time.result:
Make test more secure
mysql-test/t/func_time.test:
Make test more secure
sql/item.cc:
restore to use str_value in item::save_in_field
sql/item.h:
Simple cleanup
sql/item_cmpfunc.cc:
Safety fix
sql/item_cmpfunc.h:
Simple optimization
sql/item_func.cc:
Updated comment
sql/sql_base.cc:
Simple optimization
sql/sql_select.cc:
Simple optimization
sql/sql_union.cc:
safey fixes
BitKeeper/etc/logging_ok:
auto-union
scripts/mysqlbug.sh:
Auto merged
sql/sql_parse.cc:
Auto merged
mysql-test/t/alter_table.test:
Merge code with 3.23
sql/nt_servc.cc:
use original code
service backport from 4.0
mysql-test/t/alter_table.test:
Improved test case
sql/nt_servc.cc:
service backport from 4.0
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
This turned out to be a problem for prepared statements as well; the id was
evaluated once, at parse time.
mysql-test/r/auto_increment.result:
Updated results after bugfix in last_insert_id().
mysql-test/r/query_cache.result:
Updated results after bugfix in last_insert_id().
mysql-test/r/variables.result:
Updated results after bugfix in last_insert_id().
sql/item_func.cc:
Fixed bug in last_insert_id(); get id at each evaluation (and not in the parser).
Renamed the class Item_func_set_last_insert_id too, since it's not only for setting.
sql/item_func.h:
Fixed bug in last_insert_id(); get id at each evaluation (and not in the parser).
Renamed the class Item_func_set_last_insert_id too, since it's not only for setting.
sql/sql_yacc.yy:
Fixed bug in last_insert_id(); get id at each evaluation (and not in the parser).
Renamed the class Item_func_set_last_insert_id too, since it's not only for setting.
tests/client_test.c:
Test case for last_insert_id() in prepared statements.