Before this fix,
- a runtime error in a statement in a stored procedure with no error handlers
was properly detected (as expected)
- a runtime error in a statement with an error handler inherited from a non
local runtime context (i.e., proc a with a handler, calling proc b) was
properly detected (as expected)
- a runtime error in a statement with a *local* error handler was executed
as follows :
a) the statement would succeed, regardless of the error condition, (bug)
b) the error handler would be called (as expected).
The root cause is that functions like my_messqge_sql would "forget" to set
the thread flag thd->net.report_error to 1, because of the check involving
sp_rcontext::found_handler_here().
Failure to set this flag would cause, later in the call stack,
in Item_func::fix_fields() at line 190, the code to return FALSE and consider
that executing the statement was successful.
With this fix :
- error handling code, that was duplicated in different places in the code,
is now implemented in sp_rcontext::handle_error(),
- handle_error() correctly sets thd->net.report_error when a handler is
present, regardless of the handler location (local, or in the call stack).
A test case, bug8153_subselect, has been written to demonstrate the change
of behavior before and after the fix.
Another test case, bug8153_function_a, as also been writen.
This test has the same behavior before and after the fix.
This test has been written to demonstrate that the previous expected
result of procedure bug18787, was incorrect, since select no_such_function()
should fail and therefore not produce a result.
The incorrect result for bug18787 has the same root cause as Bug#8153,
and the expected result has been adjusted.
sql/mysqld.cc:
Bug#8153, use sp_rcontext::handle_error() to handle errors.
sql/sql_error.cc:
Bug#8153, use sp_rcontext::handle_error() to handle errors.
sql/protocol.cc:
Bug#8153, use sp_rcontext::handle_error() to handle errors.
sql/sp_rcontext.h:
Bug#8153, created helper sp_rcontext::handle_error() to handle errors.
sql/sp_rcontext.cc:
Bug#8153, created helper sp_rcontext::handle_error() to handle errors.
mysql-test/t/sp.test:
Bug#8153, added test cases.
mysql-test/r/sp.result:
Bug#8153, added test cases, fixed expected result of bug18787.
Make sure "select" aborts when finding a SP condition handler beyond the current scope.
mysql-test/r/sp.result:
Updated test results after fixing error handling in select.
sql/mysqld.cc:
Make sure "select" aborts when finding a SP condition handler beyond the current scope.
sql/protocol.cc:
Make sure "select" aborts when finding a SP condition handler beyond the current scope.
sql/sp_rcontext.h:
Added method for checking if the handler was found in the current context.
sql/sql_error.cc:
Make sure "select" aborts when finding a SP condition handler beyond the current scope.
mysql-test/r/query_cache.result:
Query with warning prohibited to query cache
mysql-test/t/query_cache.test:
Query with warning prohibited to query cache
sql/sql_error.cc:
abort storing query to query cache if warnings appeared
error for LIMIT placeholder".
The patch adds grammar support for LIMIT ?, ? and changes the
type of ST_SELECT_LEX::select_limit,offset_limit from ha_rows to Item*,
so that it can point to Item_param.
mysql-test/include/ps_modify.inc:
Fix existing tests: now LIMIT can contain placeholders.
mysql-test/include/ps_query.inc:
Fix existing tests: now LIMIT can contain placeholders.
mysql-test/r/ps.result:
Add basic test coverage for LIMIT ?, ? and fix test results.
mysql-test/r/ps_2myisam.result:
Fix test results: now LIMIT can contain placeholders.
mysql-test/r/ps_3innodb.result:
Fix test results: now LIMIT can contain placeholders.
mysql-test/r/ps_4heap.result:
Fix test results: now LIMIT can contain placeholders.
mysql-test/r/ps_5merge.result:
Fix test results: now LIMIT can contain placeholders.
mysql-test/r/ps_6bdb.result:
Fix test results: now LIMIT can contain placeholders.
mysql-test/r/ps_7ndb.result:
Fix test results: now LIMIT can contain placeholders.
mysql-test/t/ps.test:
Add basic test coverage for LIMIT ?, ?.
sql/item.h:
Add a short-cut for (ulonglong) val_int() to Item.
Add a constructor to Item_int() that accepts ulonglong.
Simplify Item_uint constructor by using the c-tor above.
sql/item_subselect.cc:
Now select_limit has type Item *.
We can safely create an Item in Item_exists_subselect::fix_length_and_dec():
it will be allocated in runtime memory root and freed in the end of
execution.
sql/sp_head.cc:
Add a special initalization state for stored procedures to
be able to easily distinguish the first execution of a stored procedure
from prepared statement prepare.
sql/sql_class.h:
Introduce new state 'INITIALIZED_FOR_SP' to be able to easily distinguish
the first execution of a stored procedure from prepared statement prepare.
sql/sql_derived.cc:
- use unit->set_limit() to set unit->select_limit_cnt, offset_limit_cnt
evreryplace. Add a warning about use of set_limit in
mysql_derived_filling.
sql/sql_error.cc:
- use unit->set_limit() to set unit->select_limit_cnt, offset_limit_cnt
evreryplace.
- this change is also aware of bug#11095 "show warnings limit 0 returns
all rows instead of zero rows", so the one who merges the bugfix from
4.1 can use local version of sql_error.cc.
sql/sql_handler.cc:
- use unit->set_limit() to initalize
unit->select_limit_cnt,offset_limit_cnt everyplace.
sql/sql_lex.cc:
Now ST_SELECT_LEX::select_limit, offset_limit have type Item *
sql/sql_lex.h:
Now ST_SELECT_LEX::select_limit, offset_limit have type Item *
sql/sql_parse.cc:
- use unit->set_limit() to initalize
unit->select_limit_cnt,offset_limit_cnt everyplace.
- we can create an Item_int to set global limit of a statement:
it will be created in the runtime mem root and freed in the end of
execution.
sql/sql_repl.cc:
Use unit->set_limit to initialize limits.
sql/sql_select.cc:
- select_limit is now Item* so the proper way to check for default value
is to compare it with NULL.
sql/sql_union.cc:
Evaluate offset_limit_cnt using the new type of ST_SELECT_LEX::offset_limit
sql/sql_view.cc:
Now ST_SELECT_LEX::select_limit, offset_limit have type Item *
sql/sql_yacc.yy:
Add grammar support for LIMIT ?, ? clause.
Add test coverage for SHOW WARNINGS LIMIT a, b;
mysql-test/r/warnings.result:
Add test coverage for SHOW WARNINGS LIMIT a,b
mysql-test/t/warnings.test:
Add test coverage for SHOW WARNINGS LIMIT a,b
sql/sql_error.cc:
Fix show warnings limit 0 and show warnings limit 0, 0
mysql-test/r/sp.result:
New test case for BUG#9004.
Also updated some other results, since formerly "invisible" (but correct)
warnings now are visible.
mysql-test/t/sp.test:
New test case for BUG#9004.
sql/sql_error.cc:
Don't reset warnings while executing a stored routine.
sql/sql_parse.cc:
Don't reset warnings while executing a stored routine.
client/mysqldump.c:
Changed some function and variable names to MySQL syntax
Fixed indentation for last few pushes
(No logic changes)
mysql-test/r/strict.result:
Test for bug #5907 (Traditional mode: invalid value can be inserted via a stored procedure)
mysql-test/t/strict.test:
Test for bug #5907 (Traditional mode: invalid value can be inserted via a stored procedure)
sql/sql_base.cc:
More comments
sql/sql_error.cc:
Ensure that PS gives error for invalid values in 'strict' mode
Previously we only stored the first given error (the error sent to the client)
include/mysys_err.h:
Moved ER_FILENOTFOUND last to avoid getting 'error 0'
mysql-test/r/backup.result:
More warnings from in case of errors
mysql-test/r/innodb.result:
More warnings from in case of errors
mysql-test/r/key_cache.result:
More warnings from in case of errors
mysql-test/r/myisam.result:
More warnings from in case of errors
mysql-test/r/preload.result:
More warnings from in case of errors
mysql-test/r/repair.result:
More warnings from in case of errors
mysql-test/r/rpl_failed_optimize.result:
More warnings from in case of errors
mysql-test/r/subselect.result:
More warnings from in case of errors
mysql-test/t/backup.test:
Portability fix
mysql-test/t/innodb.test:
Avoid some warnings
mysql-test/t/myisam.test:
Portability fix
mysql-test/t/rpl_rotate_logs.test:
Portablitiy fix
mysys/errors.c:
Move ER_FILENOTFOUND last to avoid error 0
sql/mysql_priv.h:
Indentation change
sql/mysqld.cc:
Save all given errors for SHOW ERRORS
sql/protocol.cc:
Store new errors for SHOW ERROR
(Ignore those that are already reported with my_error())
sql/sql_class.cc:
More errors with SHOW ERROR
sql/sql_class.h:
More errors with SHOW ERROR
sql/sql_error.cc:
More errors with SHOW ERROR
sql/sql_parse.cc:
Temporary fix: Don't give error for the to-be-removed 'pre-open tables code'
sql/sql_show.cc:
More debugging
Don't register errors while populating schema tables.
(If we do, we get a LOT of warnings from information_schema.test)
sql/sql_table.cc:
Don't register errors from handler in drop table (as we already do it the upper level DROP TABLE code)
Don't register errors for 'restore_table' as in most cases the table doesn't exists
sql/sql_union.cc:
Use file->write_row() instead of 'write_record'.
This gives us easer to handle error messages and is faster than the old version
Now thd->mem_root is a pointer to thd->main_mem_root and THR_MALLOC is a pointer to thd->mem_root.
This gives us the following benefits:
- Allow us to easily detect if arena has already been swapped before (this fixes a bug in setup_conds() where arena was swaped twice in some cases)
- Faster swaps of arenas (as we don't have to copy the whole MEM_ROOT)
- We don't anymore have to call my_pthread_setspecific_ptr(THR_MALLOC,...) to change where memory is alloced. Now it's enough to set thd->mem_root
client/mysqltest.c:
Remove some not needed defines
(Things like this should be done in config-win.h)
include/config-win.h:
Added popen() and pclose() compatibility macros
mysql-test/t/rpl_failed_optimize-master.opt:
Portability fix
sql/ha_berkeley.cc:
New thd->memroot handling
sql/item_cmpfunc.cc:
Simpler arena swapping code
sql/item_func.cc:
Simpler arena swapping code
sql/item_subselect.cc:
Simpler arena swapping code
New thd->mem_root handling
sql/item_sum.cc:
New thd->mem_root handling
sql/item_timefunc.cc:
Fixed not-initalized usage errors found by valgrind
sql/log_event.cc:
New thd->mem_root handling
sql/mysql_priv.h:
New thd->mem_root handling
sql/mysqld.cc:
New thd->mem_root handling
sql/opt_range.cc:
New thd->mem_root handling
sql/repl_failsafe.cc:
New thd->mem_root handling
sql/set_var.cc:
New thd->mem_root handling
sql/sql_acl.cc:
New thd->mem_root handling
sql/sql_base.cc:
Simpler arena swapping code
New thd->mem_root handling
sql/sql_class.cc:
New thd->mem_root handling
sql/sql_class.h:
Simpler arena swapping code
New thd->mem_root handling
sql/sql_db.cc:
New thd->mem_root handling
sql/sql_error.cc:
New thd->mem_root handling
sql/sql_help.cc:
New thd->mem_root handling
sql/sql_insert.cc:
New thd->mem_root handling
sql/sql_parse.cc:
New thd->mem_root handling
Added some extra checking of return value of new
sql/sql_prepare.cc:
New thd->mem_root handling
sql/sql_select.cc:
New thd->mem_root handling
sql/sql_select.h:
New thd->mem_root handling
sql/sql_union.cc:
Simpler arena swapping code
sql/sql_yacc.yy:
New thd->mem_root handling
sql/table.cc:
New thd->mem_root handling
sql/thr_malloc.cc:
New thd->mem_root handling
tests/client_test.c:
Added drop table to some tests
Changed some table names to 't1'
New mysqltest that can run mysqltest with PS
Added support for ZEROFILL in PS
Fixed crash when one called mysql_stmt_store_result() without a preceding mysql_stmt_bind_result()
Updated test cases to support --ps-protocol
(Some tests are still run using old protocol)
Fixed crash in PS when using SELECT * FROM t1 NATURAL JOIN t2...
Fixed crash in PS when using sub queries
Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
Fixed wrong permissions check in PS and multi-table updates (one could get permission denied for legal quries)
Fix for PS and SELECT ... PROCEDURE
Reset all warnings when executing a new PS query
group_concat(...ORDER BY) didn't work with PS
Fixed problem with test suite when not using innodb
BitKeeper/deleted/.del-innodb-lock-master.opt~f76a4a1999728f87:
Delete: mysql-test/t/innodb-lock-master.opt
client/Makefile.am:
mysqltest now uses regex
client/mysqltest.c:
Added support for testing of prepared statements (with --ps-protocol)
Main code was done by Kent, I did mainly some cleanups and minor bug fixes
New test commands:
--disable_ps_protocol
--enable_ps_protocol
NOTE: new code still has some things that needs to be cleaned up.
For example run_query_stmt_handle_error() should be made more general so that same code can be used also by 'normal' queries
configure.in:
mysqltest now uses regex
libmysql/libmysql.c:
Reset warning_count after prepare (safety). In the future we should also provide warnings on prepare
integer -> string conversion now handles ZEROFILL
double -> string conversion is now closer to the one in the server
Fixed crash when one called mysql_stmt_store_result() without preceding mysql_stmt_bind_result()
libmysqld/examples/Makefile.am:
mysqltest now uses regex
mysql-test/include/have_query_cache.inc:
Fixes for --ps-protocol
mysql-test/include/ps_conv.inc:
Fixes for --ps-protocol
mysql-test/mysql-test-run.sh:
Added options --ps-protocol
mysql-test/r/ctype_utf8.result:
Fixed test case
mysql-test/r/fulltext_cache.result:
Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/r/fulltext_left_join.result:
Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/r/fulltext_multi.result:
Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/r/innodb-lock.result:
Fixed test to work even if Innodb is not compiled in.
mysql-test/t/create.test:
Fixes for --ps-protocol
mysql-test/t/ctype_utf8.test:
Remove warnings
mysql-test/t/date_formats.test:
Fixes for --ps-protocol
mysql-test/t/fulltext_cache.test:
Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/t/fulltext_left_join.test:
Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/t/fulltext_multi.test:
Changed output of MATCH to use round() to get same numbers with --ps-protocol
mysql-test/t/func_group.test:
Fixes for --ps-protocol
mysql-test/t/func_sapdb.test:
Fixes for --ps-protocol
mysql-test/t/innodb-lock.test:
Fixed test to work even if Innodb is not compiled in.
mysql-test/t/insert.test:
Fixes for --ps-protocol
mysql-test/t/insert_select.test:
Fixes for --ps-protocol
mysql-test/t/insert_update.test:
Fixes for --ps-protocol
mysql-test/t/metadata.test:
Fixes for --ps-protocol
mysql-test/t/multi_statement.test:
Fixes for --ps-protocol
mysql-test/t/ps_1general.test:
Fixes for --ps-protocol
mysql-test/t/rollback.test:
Fixes for --ps-protocol
mysql-test/t/rpl_redirect.test:
Fixes for --ps-protocol
mysql-test/t/rpl_user_variables.test:
Fixes for --ps-protocol
mysql-test/t/select.test:
Fixes for --ps-protocol
mysql-test/t/status.test:
Fixes for --ps-protocol
mysql-test/t/type_blob.test:
Fixes for --ps-protocol
mysql-test/t/type_float.test:
Fixes for --ps-protocol
mysql-test/t/union.test:
Fixes for --ps-protocol
mysql-test/t/warnings.test:
Fixes for --ps-protocol
mysys/my_alloc.c:
More debugging information
sql-common/client.c:
More debugging information
sql-common/my_time.c:
TIME didn't support full range with PS
sql/field.cc:
TIME didn't support full range with PS
sql/item_cmpfunc.cc:
IN(constants,...) didn't work with PS
sql/item_subselect.cc:
Some subqueries didn't work with PS
sql/item_sum.cc:
group_concat(...ORDER BY) didn't work with PS
Removed variable warning_available as 'warning' can be used for this.
sql/item_sum.h:
Removed not needed variable
sql/protocol.cc:
TIME didn't support full range with PS
sql/set_var.cc:
Style fix
sql/sql_base.cc:
setup_wild() didn't properly restore old arena, which caused core dump in PS when using
SELECT * FROM t1 NATURAL JOIN t2...
sql/sql_class.cc:
Style fix
sql/sql_error.cc:
Style fix
sql/sql_insert.cc:
Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
sql/sql_lex.h:
Fix for PS and procedures
sql/sql_parse.cc:
More debugging information
Make a copy of 'db' in PS as this may change
Fixed wrong permissions check in PS and multi-table updates
sql/sql_prepare.cc:
Fix for PS and SELECT ... PROCEDURE
Reset all warnings when executing a new query
sql/sql_union.cc:
Fixes for PS and SELECT ... PROCEDURE
Reset 'with_wild' as 'wild' is resolved on prepare
All tests pass (client_test included)
libmysqld/lib_sql.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/filesort.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/ha_innodb.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/ha_myisam.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_cmpfunc.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_create.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_func.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_subselect.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_sum.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/mysql_priv.h:
THD::lex now points to THD::main_lex like in 5.0
sql/mysqld.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/protocol.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/repl_failsafe.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/slave.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_acl.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_base.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_cache.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_class.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_class.h:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_delete.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_error.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_insert.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_lex.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_lex.h:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_parse.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_prepare.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_repl.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_select.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_table.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_union.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_update.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_yacc.yy:
THD::lex now points to THD::main_lex like in 5.0
Fixed compiler warnings (a lot of hidden variables detected by the Forte compiler)
Added a lot of 'version_xxx' strings to 'show variables'
Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris)
Fixed problem with printing sub selects to debug log
Docs/mysqld_error.txt:
Updated error messages
Makefile.am:
Added missing SSL library (Should be in source distribution)
configure.in:
Added missing SSL library
include/sql_common.h:
Move duplicated prototypes
innobase/os/os0file.c:
Added comment for line that could be removed
innobase/srv/srv0srv.c:
Added comment for line that could be removed
innobase/srv/srv0start.c:
Added comment for line that could be removed
innobase/trx/trx0sys.c:
Added cast to remove compiler warning
isam/isamchk.c:
Fixed compiler warning
libmysql/conf_to_src.c:
Include files in proper order
myisam/mi_check.c:
Removed else part that caused compiler warning
myisam/mi_delete.c:
Added cast
myisam/mi_page.c:
Added cast
myisam/mi_preload.c:
Added cast
myisam/mi_write.c:
Added cast
myisam/myisampack.c:
changed 'byte' to 'current_byte' to avoid compiler warnings
mysql-test/mysql-test-run.sh:
Removed start-from as test '<' is not portable and this can easily be done from command line
mysys/hash.c:
Added cast
mysys/mf_wcomp.c:
Removed not reached line
mysys/my_append.c:
Fixed include file order to get this more portable
mysys/my_copy.c:
Fixed include file order to get this more portable
mysys/my_redel.c:
Fixed include file order to get this more portable
sql-common/client.c:
More DBUG_PRINT
sql-common/pack.c:
Added casts becasue Fortre compiler apparently compares (ulonglong) < (longlong) as signed
sql/ha_heap.cc:
Changed variable names to not cause hidden variables
sql/ha_innodb.cc:
Changed variable names to not cause hidden variables
sql/item.cc:
Changed variable names to not cause hidden variables
sql/item.h:
Changed variable names to not cause hidden variables
sql/item_cmpfunc.h:
Changed variable names to not cause hidden variables
sql/item_func.cc:
Changed variable names to not cause hidden variables
sql/item_subselect.cc:
Changed variable names to not cause hidden variables
sql/item_subselect.h:
Changed variable names to not cause hidden variables
sql/item_sum.cc:
Changed variable names to not cause hidden variables
sql/item_timefunc.cc:
Changed variable names to not cause hidden variables
sql/log.cc:
Changed variable names to not cause hidden variables
sql/protocol.cc:
Changed variable names to not cause hidden variables
sql/protocol.h:
Changed variable names to not cause hidden variables
Remove function not declared in protocol.cc
sql/protocol_cursor.cc:
Changed variable names to not cause hidden variables
sql/set_var.cc:
Added a lot of 'version_xxx' strings
Changed 'bdb_version' to 'version_bdb'
sql/sql_class.cc:
Changed variable names to not cause hidden variables
Add TMP_TABLE_PARAM::init() to allow one to initialize structure several times
sql/sql_class.h:
Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris)
sql/sql_derived.cc:
Avoid copying TMP_TABLE_PARAM (Use class version instead)
sql/sql_error.cc:
More DBUG
sql/sql_help.cc:
Fixed compiler warning
sql/sql_lex.cc:
Changed variable names to not cause hidden variables
sql/sql_list.h:
Changed variable names to not cause hidden variables
sql/sql_parse.cc:
Changed variable names to not cause hidden variables
sql/sql_select.cc:
Changed variable names to not cause hidden variables
Ensure that you don't send NULL to printf() for %s
Fixed problem with printing sub selects to debug log
sql/sql_select.h:
Changed variable names to not cause hidden variables
sql/sql_union.cc:
Changed variable names to not cause hidden variables
Don't use local copy of TMP_TABLE_PARAM (Caused core dump on Solaris)
sql/sql_update.cc:
Indentation cleanup
sql/sql_yacc.yy:
Remove warning
strings/conf_to_src.c:
Fixed include file order
Fix LOAD DATA INFILE warnings to have a better meanigful messages
Fix to make the mysql command line to automatically show the warnings count for all basic commands
sql/item_sum.cc:
Fixed bug in warning handling.
sql/item_sum.h:
Fixed bug in warning handling.
sql/sql_class.h:
Fixed bug in warning handling.
sql/sql_error.cc:
Fixed bug in warning handling.
strings/my_vsnprintf.c:
After merge fix
sql/sql_error.cc:
- fixed comment so mysql_copyright does not eat the whole file
sql/sql_prepare.cc:
- fixed comment so mysql_copyright does not eat the whole file
Fixed non fatal memory leak in slave code.
mysql-test/r/func_test.result:
Added test for DIV
mysql-test/t/func_test.test:
Added test for DIV
mysys/my_alloc.c:
More DBUG statements
sql/item_func.cc:
Added support for ULONG division with DIV
sql/log_event.cc:
Fixed memory leak (Wrong call to init_sql_alloc)
sql/slave.cc:
Fixed memory leak (Wrong call to init_sql_alloc)
sql/sql_base.cc:
More DBUG statements
sql/sql_class.cc:
Added init_for_queries() to fix memory leak in slave code
sql/sql_class.h:
Added init_for_queries() to fix memory leak in slave code
sql/sql_error.cc:
More DBUG statements
sql/sql_parse.cc:
Added init_for_queries() to fix memory leak in slave code
sql/unireg.h:
Moved memory defaults to include file
include/mysqld_error.h:
add warning
sql/field.h:
add friend class
sql/item_sum.cc:
add function
sql/item_sum.h:
add class
sql/lex.h:
add lex
sql/mysql_priv.h:
change push_warning
sql/mysqld.cc:
add new option
sql/set_var.cc:
add new system variable
sql/share/english/errmsg.txt:
add new message text
sql/sql_class.h:
change MY_ERROR class
sql/sql_error.cc:
change push_warning
sql/sql_lex.h:
add qorder_list for function
sql/sql_yacc.yy:
add structure of group_concat
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Cleaned up test; Removed wrong DROP TABLE commands and use standard table and database names.
changed store_warning() -> push_warning_print()
BitKeeper/deleted/.del-rpl000016-slave.opt~ef76f85ddcc13b87:
Delete: mysql-test/t/rpl000016-slave.opt
BitKeeper/deleted/.del-sel000001.test~9567c1646058cc:
Delete: mysql-test/t/sel000001.test
BitKeeper/deleted/.del-sel000002.test~9f500639572e18e1:
Delete: mysql-test/t/sel000002.test
BitKeeper/deleted/.del-sel000003.test~63a5512d18cd20a2:
Delete: mysql-test/t/sel000003.test
BitKeeper/deleted/.del-sel000001.result~383913ae4505ec86:
Delete: mysql-test/r/sel000001.result
BitKeeper/deleted/.del-sel000002.result~d1787e6fd5dbc1cc:
Delete: mysql-test/r/sel000002.result
BitKeeper/deleted/.del-sel000003.result~d7b657b1e3a286a7:
Delete: mysql-test/r/sel000003.result
BitKeeper/deleted/.del-sel000031.result~d49aeac63ad7db4d:
Delete: mysql-test/r/sel000031.result
BitKeeper/deleted/.del-sel000031.test~50a19a8e204e99bc:
Delete: mysql-test/t/sel000031.test
BitKeeper/deleted/.del-sel000032.result~6cb30e23cbca9fb0:
Delete: mysql-test/r/sel000032.result
BitKeeper/deleted/.del-sel000032.test~e32da7c3fc4b7ace:
Delete: mysql-test/t/sel000032.test
BitKeeper/deleted/.del-rpl000003.result~68d6ee00beaa011:
Delete: mysql-test/r/rpl000003.result
BitKeeper/deleted/.del-rpl000003.test~b7cfc4c5576fbafd:
Delete: mysql-test/t/rpl000003.test
client/mysql.cc:
Don't yet print information about SQL help
client/mysqltest.c:
Added test options:
--enable_warnings
--disable_warnings
--enable_info
--disable_info
configure.in:
changed version number of shared libraries
mysql-test/include/master-slave.inc:
Don't write warnings on init
mysql-test/r/backup.result:
Updated results
mysql-test/r/bdb.result:
Updated results
mysql-test/r/bigint.result:
Updated results
mysql-test/r/bool.result:
Updated results
mysql-test/r/create.result:
Updated results
mysql-test/r/delete.result:
Updated results
mysql-test/r/derived.result:
Updated results
mysql-test/r/distinct.result:
Updated results
mysql-test/r/drop.result:
Updated results
mysql-test/r/flush.result:
Updated results
mysql-test/r/fulltext.result:
Updated results
mysql-test/r/fulltext_multi.result:
Updated results
mysql-test/r/fulltext_order_by.result:
Updated results
mysql-test/r/func_equal.result:
Updated results
mysql-test/r/func_in.result:
Updated results
mysql-test/r/func_set.result:
Updated results
mysql-test/r/gcc296.result:
Updated results
mysql-test/r/group_by.result:
Updated results
mysql-test/r/innodb-deadlock.result:
Updated results
mysql-test/r/innodb.result:
Updated results
mysql-test/r/innodb_cache.result:
Updated results
mysql-test/r/innodb_handler.result:
Updated results
mysql-test/r/insert.result:
Updated results
mysql-test/r/insert_select.result:
Updated results
mysql-test/r/isam.result:
Updated results
mysql-test/r/join_outer.result:
Updated results
mysql-test/r/key.result:
Updated results
mysql-test/r/merge.result:
Updated results
mysql-test/r/multi_update.result:
Updated results
mysql-test/r/myisam.result:
Updated results
mysql-test/r/null.result:
Updated results
mysql-test/r/null_key.result:
Updated results
mysql-test/r/odbc.result:
Updated results
mysql-test/r/olap.result:
Updated results
mysql-test/r/order_by.result:
Updated results
mysql-test/r/query_cache.result:
Updated results
mysql-test/r/rename.result:
Updated results
mysql-test/r/row.result:
Updated results
mysql-test/r/rpl000001.result:
Updated results
mysql-test/r/rpl000002.result:
Updated results
mysql-test/r/rpl000004.result:
Updated results
mysql-test/r/rpl000005.result:
Updated results
mysql-test/r/rpl000006.result:
Updated results
mysql-test/r/rpl000008.result:
Updated results
mysql-test/r/rpl000009.result:
Updated results
mysql-test/r/rpl000010.result:
Updated results
mysql-test/r/rpl000011.result:
Updated results
mysql-test/r/rpl000012.result:
Updated results
mysql-test/r/rpl000013.result:
Updated results
mysql-test/r/rpl_alter.result:
Updated results
mysql-test/r/rpl_empty_master_crash.result:
Updated results
mysql-test/r/rpl_redirect.result:
Updated results
mysql-test/r/rpl_replicate_do.result:
Updated results
mysql-test/r/rpl_rotate_logs.result:
Updated results
mysql-test/r/rpl_skip_error.result:
Updated results
mysql-test/r/rpl_temporary.result:
Updated results
mysql-test/r/select.result:
Updated results
mysql-test/r/subselect.result:
Updated results
mysql-test/r/temp_table.result:
Updated results
mysql-test/r/type_date.result:
Updated results
mysql-test/r/type_float.result:
Updated results
mysql-test/r/union.result:
Updated results
mysql-test/r/update.result:
Updated results
mysql-test/r/user_var.result:
Updated results
mysql-test/r/varbinary.result:
Updated results
mysql-test/r/variables.result:
Updated results
mysql-test/r/warnings.result:
Updated results
mysql-test/t/alias.test:
Don't write warnings when initializing test
mysql-test/t/alter_table.test:
Don't write warnings when initializing test
mysql-test/t/analyse.test:
Don't write warnings when initializing test
mysql-test/t/auto_increment.test:
Don't write warnings when initializing test
mysql-test/t/backup.test:
Don't write warnings when initializing test
mysql-test/t/bdb-alter-table-1.test:
Don't write warnings when initializing test
mysql-test/t/bdb-crash.test:
Don't write warnings when initializing test
mysql-test/t/bdb-deadlock.test:
Don't write warnings when initializing test
mysql-test/t/bdb.test:
Don't write warnings when initializing test
cleaned up test
mysql-test/t/bdb_cache.test:
Don't write warnings when initializing test
mysql-test/t/bench_count_distinct.test:
Don't write warnings when initializing test
mysql-test/t/bigint.test:
Don't write warnings when initializing test
mysql-test/t/binary.test:
Don't write warnings when initializing test
mysql-test/t/bool.test:
Don't write warnings when initializing test
Changed to use standard table names
mysql-test/t/bulk_replace.test:
Don't write warnings when initializing test
mysql-test/t/case.test:
Don't write warnings when initializing test
mysql-test/t/check.test:
Don't write warnings when initializing test
mysql-test/t/compare.test:
Don't write warnings when initializing test
mysql-test/t/connect.test:
Removed empty line
mysql-test/t/constraints.test:
Don't write warnings when initializing test
mysql-test/t/count_distinct.test:
Don't write warnings when initializing test
mysql-test/t/count_distinct2.test:
Don't write warnings when initializing test
mysql-test/t/create.test:
Don't write warnings when initializing test
Cleaned up test
mysql-test/t/ctype_latin1_de.test:
Don't write warnings when initializing test
mysql-test/t/ctype_many.test:
Don't write warnings when initializing test
mysql-test/t/delayed.test:
Don't write warnings when initializing test
mysql-test/t/delete.test:
Don't write warnings when initializing test
Cleaned up test
mysql-test/t/derived.test:
Don't write warnings when initializing test
Cleaned up test
mysql-test/t/dirty_close.test:
Don't write warnings when initializing test
mysql-test/t/distinct.test:
Don't write warnings when initializing test
Cleaned up test
mysql-test/t/drop.test:
Don't write warnings when initializing test
mysql-test/t/empty_table.test:
Don't write warnings when initializing test
mysql-test/t/err000001.test:
Don't write warnings when initializing test
Cleaned up test
mysql-test/t/explain.test:
Don't write warnings when initializing test
mysql-test/t/flush.test:
Don't write warnings when initializing test
mysql-test/t/foreign_key.test:
Don't write warnings when initializing test
mysql-test/t/fulltext.test:
Don't write warnings when initializing test
mysql-test/t/fulltext_cache.test:
Don't write warnings when initializing test
mysql-test/t/fulltext_distinct.test:
Don't write warnings when initializing test
mysql-test/t/fulltext_left_join.test:
Don't write warnings when initializing test
mysql-test/t/fulltext_multi.test:
Don't write warnings when initializing test
mysql-test/t/fulltext_order_by.test:
Don't write warnings when initializing test
mysql-test/t/fulltext_update.test:
Don't write warnings when initializing test
mysql-test/t/func_concat.test:
Don't write warnings when initializing test
mysql-test/t/func_date_add.test:
Don't write warnings when initializing test
mysql-test/t/func_encrypt.test:
Don't write warnings when initializing test
mysql-test/t/func_equal.test:
Don't write warnings when initializing test
mysql-test/t/func_group.test:
Don't write warnings when initializing test
mysql-test/t/func_if.test:
Don't write warnings when initializing test
mysql-test/t/func_in.test:
Don't write warnings when initializing test
mysql-test/t/func_isnull.test:
Don't write warnings when initializing test
mysql-test/t/func_like.test:
Don't write warnings when initializing test
mysql-test/t/func_regexp.test:
Don't write warnings when initializing test
mysql-test/t/func_set.test:
Don't write warnings when initializing test
Merged test with other tests
mysql-test/t/func_str.test:
Don't write warnings when initializing test
mysql-test/t/func_time.test:
Don't write warnings when initializing test
mysql-test/t/func_timestamp.test:
Don't write warnings when initializing test
mysql-test/t/gcc296.test:
Don't write warnings when initializing test
Cleaned up test
mysql-test/t/grant_cache.test:
Don't write warnings when initializing test
mysql-test/t/group_by.test:
Don't write warnings when initializing test
Cleaned up test
mysql-test/t/handler.test:
Don't write warnings when initializing test
mysql-test/t/having.test:
Don't write warnings when initializing test
mysql-test/t/heap.test:
Don't write warnings when initializing test
mysql-test/t/heap_auto_increment.test:
Don't write warnings when initializing test
mysql-test/t/heap_btree.test:
Don't write warnings when initializing test
mysql-test/t/heap_hash.test:
Don't write warnings when initializing test
mysql-test/t/innodb-deadlock.test:
Don't write warnings when initializing test
mysql-test/t/innodb.test:
Don't write warnings when initializing test
mysql-test/t/innodb_cache.test:
Don't write warnings when initializing test
mysql-test/t/innodb_handler.test:
Don't write warnings when initializing test
mysql-test/t/ins000001.test:
Don't write warnings when initializing test
mysql-test/t/insert.test:
Don't write warnings when initializing test
cleaned up test.
Changed to use standard database and table names
mysql-test/t/insert_select.test:
Don't write warnings when initializing test
Changed to use standard table names
mysql-test/t/insert_update.test:
Don't write warnings when initializing test
mysql-test/t/isam.test:
Don't write warnings when initializing test
cleaned up test
mysql-test/t/join.test:
Don't write warnings when initializing test
mysql-test/t/join_crash.test:
Don't write warnings when initializing test
mysql-test/t/join_outer.test:
Don't write warnings when initializing test
mysql-test/t/key.test:
Don't write warnings when initializing test
mysql-test/t/key_diff.test:
Don't write warnings when initializing test
mysql-test/t/key_primary.test:
Don't write warnings when initializing test
mysql-test/t/keywords.test:
Don't write warnings when initializing test
mysql-test/t/kill.test:
Don't write warnings when initializing test
mysql-test/t/limit.test:
Don't write warnings when initializing test
mysql-test/t/lock.test:
Don't write warnings when initializing test
mysql-test/t/lock_multi.test:
Don't write warnings when initializing test
mysql-test/t/lowercase_table.test:
Don't write warnings when initializing test
mysql-test/t/merge.test:
Don't write warnings when initializing test
cleaned up test
mysql-test/t/multi_update.test:
Don't write warnings when initializing test
mysql-test/t/myisam.test:
Don't write warnings when initializing test
mysql-test/t/null.test:
Don't write warnings when initializing test
mysql-test/t/null_key.test:
Don't write warnings when initializing test
mysql-test/t/odbc.test:
Don't write warnings when initializing test
mysql-test/t/olap.test:
Don't write warnings when initializing test
mysql-test/t/order_by.test:
Don't write warnings when initializing test
mysql-test/t/order_fill_sortbuf.test:
Don't write warnings when initializing test
mysql-test/t/query_cache.test:
Don't write warnings when initializing test
mysql-test/t/raid.test:
Don't write warnings when initializing test
mysql-test/t/range.test:
Don't write warnings when initializing test
mysql-test/t/rename.test:
Don't write warnings when initializing test
mysql-test/t/repair.test:
Don't write warnings when initializing test
mysql-test/t/replace.test:
Don't write warnings when initializing test
mysql-test/t/rollback.test:
Don't write warnings when initializing test
mysql-test/t/row.test:
Don't write warnings when initializing test
mysql-test/t/rpl000001.test:
Don't write warnings when initializing test
mysql-test/t/rpl000002.test:
Don't write warnings when initializing test
mysql-test/t/rpl000004.test:
Don't write warnings when initializing test
mysql-test/t/rpl000005.test:
Don't write warnings when initializing test
mysql-test/t/rpl000006.test:
Don't write warnings when initializing test
mysql-test/t/rpl000008-slave.opt:
Don't write warnings when initializing test
mysql-test/t/rpl000008.test:
Don't write warnings when initializing test
mysql-test/t/rpl000009-slave.opt:
Don't write warnings when initializing test
mysql-test/t/rpl000009.test:
Don't write warnings when initializing test
mysql-test/t/rpl000010.test:
Don't write warnings when initializing test
mysql-test/t/rpl000011.test:
Don't write warnings when initializing test
mysql-test/t/rpl000012.test:
Don't write warnings when initializing test
mysql-test/t/rpl000013.test:
Don't write warnings when initializing test
mysql-test/t/rpl000015.test:
Don't write warnings when initializing test
mysql-test/t/rpl000017.test:
Don't write warnings when initializing test
mysql-test/t/rpl000018.test:
Don't write warnings when initializing test
mysql-test/t/rpl_alter.test:
Don't write warnings when initializing test
mysql-test/t/rpl_empty_master_crash.test:
Don't write warnings when initializing test
mysql-test/t/rpl_redirect.test:
Don't write warnings when initializing test
mysql-test/t/rpl_replicate_do.test:
Don't write warnings when initializing test
mysql-test/t/rpl_rotate_logs.test:
Don't write warnings when initializing test
mysql-test/t/rpl_skip_error.test:
Don't write warnings when initializing test
mysql-test/t/rpl_temporary.test:
Don't write warnings when initializing test
mysql-test/t/sel000033.test:
Don't write warnings when initializing test
mysql-test/t/sel000100.test:
Don't write warnings when initializing test
mysql-test/t/select.test:
Don't write warnings when initializing test
mysql-test/t/select_found.test:
Don't write warnings when initializing test
mysql-test/t/select_safe.test:
Don't write warnings when initializing test
mysql-test/t/show_check.test:
Don't write warnings when initializing test
mysql-test/t/status.test:
Don't write warnings when initializing test
mysql-test/t/subselect.test:
Don't write warnings when initializing test
mysql-test/t/symlink.test:
Don't write warnings when initializing test
mysql-test/t/tablelock.test:
Don't write warnings when initializing test
mysql-test/t/temp_table.test:
Don't write warnings when initializing test
mysql-test/t/truncate.test:
Don't write warnings when initializing test
mysql-test/t/type_blob.test:
Don't write warnings when initializing test
mysql-test/t/type_date.test:
Don't write warnings when initializing test
mysql-test/t/type_datetime.test:
Don't write warnings when initializing test
mysql-test/t/type_decimal.test:
Don't write warnings when initializing test
mysql-test/t/type_enum.test:
Don't write warnings when initializing test
mysql-test/t/type_float.test:
Don't write warnings when initializing test
mysql-test/t/type_ranges.test:
Don't write warnings when initializing test
mysql-test/t/type_set.test:
Don't write warnings when initializing test
mysql-test/t/type_time.test:
Don't write warnings when initializing test
mysql-test/t/type_timestamp.test:
Don't write warnings when initializing test
mysql-test/t/type_uint.test:
Don't write warnings when initializing test
mysql-test/t/type_year.test:
Don't write warnings when initializing test
mysql-test/t/union.test:
Don't write warnings when initializing test
mysql-test/t/update.test:
Don't write warnings when initializing test
mysql-test/t/user_var.test:
Don't write warnings when initializing test
mysql-test/t/varbinary.test:
Don't write warnings when initializing test
mysql-test/t/variables.test:
Don't write warnings when initializing test
mysql-test/t/warnings.test:
Don't write warnings when initializing test
mysys/my_vsnprintf.c:
Safety fix
readline/terminal.c:
Removed compiler warnings
sql/ha_berkeley.cc:
Indentation changes
sql/mysql_priv.h:
Change store_warning -> push_warning_printf
sql/sql_db.cc:
Change store_warning -> push_warning_printf
sql/sql_error.cc:
Change store_warning -> push_warning_printf
sql/sql_table.cc:
Change store_warning -> push_warning_printf
Changed timestamp to return string in YYYY-MM-DD HH:MM:SS format.
DATE_ADD() and related functions now returns correct DATE/DATETIME type depending on argument types.
Now all tests passes, still some work left to remove warnings in log files from mysql-test-run
mysql-test/r/cast.result:
New result for time
mysql-test/r/delayed.result:
Timestamp update
mysql-test/r/derived.result:
Fix after bulk insert change
mysql-test/r/explain.result:
Fix after bulk insert change
mysql-test/r/func_date_add.result:
Timestamp change
mysql-test/r/func_str.result:
Timestamp change
mysql-test/r/func_time.result:
Timestamp change
mysql-test/r/innodb.result:
Timestamp change
mysql-test/r/join_outer.result:
Fix after bulk insert change
mysql-test/r/key_primary.result:
Fix after bulk insert change
mysql-test/r/keywords.result:
Timestamp change
mysql-test/r/merge.result:
Removed warning
mysql-test/r/odbc.result:
Fix after bulk insert change
mysql-test/r/range.result:
Fix after bulk insert change
mysql-test/r/select.result:
Fix after bulk insert change
mysql-test/r/subselect.result:
Fixed EXPLAIN output
mysql-test/r/type_datetime.result:
Timestamp update
mysql-test/r/type_ranges.result:
Timestamp update
mysql-test/r/type_timestamp.result:
Timestamp update
mysql-test/r/union.result:
EXPLAIN UPDATE
mysql-test/t/func_str.test:
Timestamp update
mysql-test/t/func_time.test:
New test for interval type result
mysql-test/t/merge.test:
Remove warnings of wrong drop table
mysql-test/t/type_datetime.test:
Timestamp change
mysql-test/t/type_timestamp.test:
Timestamp change
sql/field.cc:
Changed timestamp to return string in YYYY-MM-DD HH:MM:SS format
sql/field.h:
Changed timestamp to return string in YYYY-MM-DD HH:MM:SS format
sql/item.cc:
Binary protocol update
sql/item.h:
Binary protocol update
sql/item_func.cc:
Added comment
sql/item_func.h:
@variables are always returned to the client as strings
sql/item_timefunc.cc:
Changed INTERVAL to return correct type
sql/item_timefunc.h:
Changed INTERVAL to return correct type
sql/mysqld.cc:
Changed default pthread_attr_setstacksize to 129K
sql/protocol.cc:
More type checking
sql/set_var.cc:
Fixed that @convert works ok with new protocol
sql/sql_analyse.cc:
Fixed bug in analyze
sql/sql_class.cc:
Fixed bug from last push in LIMIT
sql/sql_error.cc:
More optimal types
sql/sql_repl.cc:
Binary protocol changes
sql/sql_select.cc:
Fixed bug in multi-table-update
Changed EXPLAIN to return NULL instead of empty strings
sql/sql_show.cc:
Binary protocol
Class for sending data from server to client (Protocol)
This handles both the old ( <= 4.0 ) protocol and then new binary protocol that is used for prepared statements.
libmysql/libmysql.c:
Jump over reserved bits in the binary protocol
libmysqld/Makefile.am:
rename of net_pkg.cc to protocol.cc
mysql-test/r/case.result:
Fixed previously wrong test
mysql-test/r/cast.result:
Fixed previously wrong test
sql/Makefile.am:
Rename of net_pkg.cc to protocol.cc
sql/field.cc:
Binary protocol
Added key handling functions for new VARCHAR type
sql/field.h:
New protocol
sql/ha_berkeley.cc:
New protocol
sql/ha_berkeley.h:
New protocol
sql/ha_innodb.cc:
New protocol
sql/ha_myisam.cc:
New protocol
sql/item.cc:
New protocol
sql/item.h:
New protocol
sql/item_func.cc:
Removed old code from 3.23
sql/item_func.h:
Set cached_result_type as it was previosly used before set
sql/item_subselect.cc:
Standard make_field() is now good enough
sql/item_subselect.h:
Use default make_field()
sql/item_sum.cc:
Clean up Item_sum::make_field()
sql/item_sum.h:
Use standard make_field()
sql/item_timefunc.h:
return correct types for casts()
Use standard make_field()
sql/log_event.cc:
New protocol
sql/log_event.h:
New protocol
sql/mysql_priv.h:
Move things to protocol.h
sql/opt_range.cc:
Indentation cleanups + small optimization
sql/procedure.h:
Use MYSQL_TYPE instead of FIELD_TYPE
sql/protocol.cc:
Class for sending data from server to client.
This handles both the old ( <= 4.0 ) protocol and then new binary protocol that is used for prepared statements.
sql/repl_failsafe.cc:
New protocol
sql/slave.cc:
New protocol
sql/sql_acl.cc:
New protocol
sql/sql_base.cc:
Move send_fields() to protocol.cc
sql/sql_class.cc:
New protocol
sql/sql_class.h:
New protocol
sql/sql_db.cc:
New protocol
sql/sql_error.cc:
New protocol
sql/sql_handler.cc:
New protocol
sql/sql_help.cc:
New protocol
sql/sql_parse.cc:
Remove wrong assert (variable was not initalized at this point)
sql/sql_prepare.cc:
New protocol
sql/sql_repl.cc:
New protocol
sql/sql_select.cc:
New protocol
sql/sql_show.cc:
New protocol
sql/sql_string.h:
New functions used by the protocol functions
sql/sql_table.cc:
New protocol
sql/structs.h:
Make second_part ulong to prepare for ANSI sub-seconds
sql/time.cc:
New convert function needed by the new protocol functions
New operators MOD and DIV
SELECT ... FROM DUAL
TRUE = 1 and FALSE = 0
include/mysqld_error.h:
New warning message
mysql-test/r/func_system.result:
Added testing of new functions
mysql-test/r/func_test.result:
Added testing of new functions
mysql-test/r/type_blob.result:
Added testing of new functions
mysql-test/t/func_system.test:
Added testing of new functions
mysql-test/t/func_test.test:
Added testing of new functions
mysql-test/t/type_blob.test:
Added testing of new functions
sql/item_func.cc:
Added function DIV
sql/item_func.h:
Added function DIV
sql/lex.h:
New keywords
sql/share/czech/errmsg.txt:
New warning message
sql/share/danish/errmsg.txt:
New warning message
sql/share/dutch/errmsg.txt:
New warning message
sql/share/english/errmsg.txt:
New warning message
sql/share/estonian/errmsg.txt:
New warning message
sql/share/french/errmsg.txt:
New warning message
sql/share/german/errmsg.txt:
New warning message
sql/share/greek/errmsg.txt:
New warning message
sql/share/hungarian/errmsg.txt:
New warning message
sql/share/italian/errmsg.txt:
New warning message
sql/share/japanese/errmsg.txt:
New warning message
sql/share/korean/errmsg.txt:
New warning message
sql/share/norwegian-ny/errmsg.txt:
New warning message
sql/share/norwegian/errmsg.txt:
New warning message
sql/share/polish/errmsg.txt:
New warning message
sql/share/portuguese/errmsg.txt:
New warning message
sql/share/romanian/errmsg.txt:
New warning message
sql/share/russian/errmsg.txt:
New warning message
sql/share/serbian/errmsg.txt:
New warning message
sql/share/slovak/errmsg.txt:
New warning message
sql/share/spanish/errmsg.txt:
New warning message
sql/share/swedish/errmsg.txt:
New warning message
Translated a lot of error messages
sql/share/ukrainian/errmsg.txt:
New warning message
sql/sql_class.cc:
Added support for warnings during parsing
sql/sql_class.h:
Added support for warnings during parsing
sql/sql_error.cc:
Added support for warnings during parsing
sql/sql_lex.cc:
Fixed comment
sql/sql_parse.cc:
Added automatic conversion from CHAR(length) to BLOB when length > 255
Added support for BLOB(length)
sql/sql_yacc.yy:
New operators MOD and DIV
SELECT ... FROM DUAL
TRUE = 1 and FALSE = 0
Warning handling and initial prepared statement handling (last not complete yet)
Changed a lot of functions that returned 0/1 to my_bool type.
GRANT handling now uses read/write locks instead of mutex
Change basic net functions to use THD instead of NET
(needed for 4.1 protocol)
Use my_sprintf instead of sprintf() + strlen()
Added alloc_query() to be able to chare query initialization code with
prepared statements.
Cleanup handling of SHOW COUNT(*) WARNINGS and SELECT LAST_INSERT_ID()
Note that the following test fails (will be fixed ASAP):
sub_select, union, rpl_rotate_logs and rpl_mystery22
BitKeeper/deleted/.del-README~3449730baf983117:
Delete: mysql-test/t/README
BitKeeper/deleted/.del-sql_error.cc~2f1caca8d2485dbe:
Delete: libmysqld/sql_error.cc
BitKeeper/deleted/.del-sql_prepare.cc~f703729793935ed6:
Delete: libmysqld/sql_prepare.cc
Docs/manual.texi:
Updated variable list
client/mysql.cc:
Show warning count to user.
client/mysqltest.c:
Add warnings to test results
configure.in:
New shared library version number
include/errmsg.h:
Indentation cleanup
include/mysql.h:
Removed MYSQL_ERROR
Indentaion cleanups
include/mysql_com.h:
Changed functions to returns true/false to my_bool.
include/mysqld_error.h:
New error messages
isam/pack_isam.c:
Indentation change
libmysql/Makefile.am:
Fix of wrong merge
libmysql/Makefile.shared:
Indentation cleanup
libmysql/errmsg.c:
Removed not used errors
libmysql/libmysql.c:
Change functions to return 1 on error (not -1)
Change type of functions that returns 0/1 to my_bool
Lot of code optimizations.
Lot of changes for prepared statements. This now handles sending of binary data to server.
Receving of binary data is not yet done (will have to wait until server code for this is ready)
mysql_warning_count and mysql_warnings() implemented.
libmysql/libmysql.def:
Added mysql_warnings and mysql_warning_count
libmysql/manager.c:
Fixed wrong testing of result from my_connect()
libmysqld/lib_sql.cc:
Removed global variable THR_NET
Change basic net functions to use THD instead of NET
GRANT handling now uses read/write locks instead of mutex
libmysqld/libmysqld.c:
Changed functions to be my_bool
myisam/ft_boolean_search.c:
Trivial code cleanup
myisam/ft_stopwords.c:
Trivial code cleanup
myisam/mi_check.c:
Update to 4.1 structures
myisam/myisampack.c:
Trivial code cleanup
myisam/rt_key.c:
Code cleanup
myisam/rt_test.c:
Code cleanup
Removed compiler warnings
myisam/sp_key.c:
Indentation changes
myisam/sp_test.c:
Removed compiler warnings
mysql-test/README:
Updated to reflect the new --external flag.
mysql-test/mysql-test-run.sh:
--local (start new server) is now default.
Use --external to test against external server.
mysql-test/r/rollback.result:
Updated for 4.1 warnings
mysql-test/r/rpl_log.result:
Update for 4.1
mysql-test/t/rollback.test:
Updated for 4.1 warnings
mysql-test/t/rpl_log_pos.test:
Portability fix
mysys/hash.c:
Indentation change
mysys/my_error.c:
Indentation change
mysys/tree.c:
Updated file description
sql/field.cc:
Fixed bugs introduced by merge
Use my_sprintf instead of sprintf() + strlen()
sql/field.h:
Add CHARSET_INFO to field structure
sql/gstream.h:
Indentation changes.
Added GPL copyright header
sql/ha_innodb.cc:
Updated parameters for net functions.
sql/item.cc:
Updates of Item_param
Indentation changes
sql/item.h:
Removed size_of() function from item.
sql/item_func.cc:
Update function usage for 4.1
Added get_system_var()
sql/item_func.h:
Indentation change
sql/item_strfunc.cc:
Removed not needed inclusion of gstream.h
Update to use system variables (from 4.0)
sql/item_sum.h:
Removed size_of() functions from item.
sql/item_timefunc.cc:
Change sprintf() + strlen() -> my_sprintf()
Added length parameter to ->append()
sql/item_timefunc.h:
Removed size_of() functions from item.
sql/item_uniq.h:
Removed size_of() functions from item.
sql/lex.h:
Removed SQL_ERROR_COUNT variable
sql/log.cc:
Change sprintf() + strlen() -> my_sprintf()
sql/log_event.cc:
Change sprintf() + strlen() -> my_sprintf()
sql/mini_client.cc:
Added check that one always specifies a length to mc_mysql_query()
sql/mysql_priv.h:
New prototypes
Change of NET -> THD parameter for net functions.
sql/mysqld.cc:
New startup options: 'max_prepared_statements', 'max_error_count'
Updated usage of net functions.
sql/net_pkg.cc:
Change basic net functions to use THD instead of NET
(needed to be able to handle 4.0 and 4.1 protocols)
Lots of function comments
sql/net_serv.cc:
Change int return values -> my_bool
Updated net_write_command() to take an extra header block to be added to the packet.
(This made the prepared statement code much nicer and more efficient)
sql/repl_failsafe.cc:
Update net functions to use THD instead of NET
sql/set_var.cc:
Added @@error_count and @@warning_count variables.
Updated to 4.1 function usage
sql/set_var.h:
Added @@error_count and @@warning_count variables.
sql/share/czech/errmsg.txt:
Removed Warning: from warning error messages.
sql/share/english/errmsg.txt:
Removed Warning: from warning error messages.
sql/share/greek/errmsg.txt:
Removed Warning: from warning error messages.
sql/share/hungarian/errmsg.txt:
Removed Warning: from warning error messages.
sql/share/japanese/errmsg.txt:
Removed Warning: from warning error messages.
sql/share/korean/errmsg.txt:
Removed Warning: from warning error messages.
sql/share/norwegian-ny/errmsg.txt:
Removed Warning: from warning error messages.
sql/share/norwegian/errmsg.txt:
Removed Warning: from warning error messages.
sql/share/polish/errmsg.txt:
Removed Warning: from warning error messages.
sql/share/romanian/errmsg.txt:
Removed Warning: from warning error messages.
sql/share/slovak/errmsg.txt:
Removed Warning: from warning error messages.
sql/share/swedish/errmsg.txt:
Removed Warning: from warning error messages.
sql/slave.cc:
Change basic net functions to use THD instead of NET
skip_load_data_file recoded to fit new client/server protocol
sql/spatial.h:
Added copyright header
Indentation cleanups
sql/sql_acl.cc:
Change basic net functions to use THD instead of NET
GRANT handling now uses read/write locks instead of mutex
sql/sql_analyse.cc:
Change basic net functions to use THD instead of NET
sprintf() + strlen() -> my_sprintf()
sql/sql_base.cc:
More DBUG statements
sql/sql_class.cc:
Change basic net functions to use THD instead of NET
warning and prepared statement handling
sql/sql_class.h:
Change basic net functions to use THD instead of NET
warning and prepared statement handling
sql/sql_db.cc:
Code cleanup & optimization.
sql/sql_delete.cc:
Change basic net functions to use THD instead of NET
sql/sql_derived.cc:
Change basic net functions to use THD instead of NET
sql/sql_do.cc:
Change basic net functions to use THD instead of NET
sql/sql_error.cc:
Big rewrite of error handling.
sql/sql_handler.cc:
Change basic net functions to use THD instead of NET
sql/sql_insert.cc:
Change basic net functions to use THD instead of NET
sql/sql_lex.cc:
Change basic net functions to use THD instead of NET
sql/sql_lex.h:
Added param_count to st_select_lex_node
sql/sql_list.h:
Removed not needed error list.
sql/sql_load.cc:
Change basic net functions to use THD instead of NET
sql/sql_parse.cc:
Change basic net functions to use THD instead of NET
Added alloc_query() to be able to chare query initialization code with
prepared statements.
Update of warning handling.
Added create_select_for_variable() (for SHOW COUNT(*) WARNINGS)
sql/sql_prepare.cc:
Initial prepared statement handling
sql/sql_rename.cc:
Change basic net functions to use THD instead of NET
sql/sql_repl.cc:
Change basic net functions to use THD instead of NET
sql/sql_select.cc:
Small code cleanups
Added missing initialization of error that caused some queries that returned an empty result set to fail
sql/sql_select.h:
Ensure that JOIN.error is properly initialized
sql/sql_show.cc:
Change basic net functions to use THD instead of NET
A lot of optimization
sql/sql_table.cc:
Change basic net functions to use THD instead of NET
Indentaion cleanup
sql/sql_udf.cc:
Change basic net functions to use THD instead of NET
sql/sql_union.cc:
Change basic net functions to use THD instead of NET
sql/sql_update.cc:
Change basic net functions to use THD instead of NET
sql/sql_yacc.yy:
Change basic net functions to use THD instead of NET
Cleanup handling of SHOW COUNT(*) WARNINGS and SELECT LAST_INSERT_ID()
sql/structs.h:
Moved structures to files where they was used
sql/table.cc:
Don't accept empty database names
sql/uniques.cc:
Indentation cleanup
sql/unireg.cc:
Change basic net functions to use THD instead of NET
sql/unireg.h:
Added defaults for warnings and prepared statements
strings/ctype-simple.c:
optimization
tests/client_test.c:
Fixed wrong paramaters to printf()
new file
Client-server protocol 4.1 changes - Server side:
* Enhanced metadata information:
- SHOW [COUNT(*)] ERRORS [LIMIT [offset,] rows]
- SHOW [COUNT(*)] WARNING [LIMIT [offset,] rows]
- SHOW TABLE TYPES
- SHOW PRIVILEGES
- SHOW COLUMN TYPES (Not fully implemented)
* Prepared execution
* Long data handling in pieces
* And other misc changes