Had to add a cahing mechanism which is in parts an ugly kludge, but it will be
reworked once the real SP caching is implemented.
mysql-test/r/sp.result:
New function tests.
mysql-test/t/sp.test:
New function tests.
sql/sp.cc:
Big rehack of mysql.proc table usage strategy and adding a function cache
mechanism, since we need to read used functions from the db before doing anything else
when executing a query. (This cache is temporary and will probably be replaced by
the real thing later.)
sql/sp.h:
New (temporary) FUNCTION caching functions.
sql/sp_head.cc:
Fixed some bugs in the function and procedure execution.
Disabled some data collections that's not used at the moment.
sql/sp_head.h:
Fixed some bugs in the function and procedure execution.
Disabled some data collections that's not used at the moment.
sql/sql_class.h:
Added SP function cache list to thd.
sql/sql_lex.cc:
Added SP function name list to lex.
sql/sql_lex.h:
Added SP function name list to lex.
sql/sql_parse.cc:
Read used FUNCTIONs from db and cache them in thd before doing anything else
in a query execution. (This is necessary since we can't open mysql.proc during
query execution.)
sql/sql_yacc.yy:
Collect used function names in lex.
mysql-test/r/rpl_loaddatalocal.result:
ChangeSet 1.1625 was faulty as regards this file (LOAD DATA LOCAL bug)
mysql-test/t/rpl_loaddatalocal.test:
ChangeSet 1.1625 was faulty as regards this file (LOAD DATA LOCAL bug)
sql/mf_iocache.cc:
ChangeSet 1.1625 was faulty as regards this file (LOAD DATA LOCAL bug)
mysql-test/r/show_check.result:
proc table now shows up in different places.
mysql-test/r/status.result:
proc table now shows up in different places.
sql/sp.cc:
Fixed closing of tables.
sql/sp_head.cc:
Close tables after each sub statement.
sql/sql_class.cc:
Removed closing of tables in various send_eof() methods again.
configure.in:
Auto merged
include/config-win.h:
Auto merged
include/thr_lock.h:
Auto merged
mysql-test/Makefile.am:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/log_event.cc:
merge
sql/mysqld.cc:
merge
Added new tests for better coverage of
min/max optimization code.
func_group.test:
Added new tests for better coverage of
min/max optimization code.
opt_sum.cc:
Fixed wrong previous manual merge.
Fixed bugs concerning fields used in min/max
functions for which there are conditions of
the form field=const.
sql/opt_sum.cc:
Fixed wrong previous manual merge.
Fixed bugs concerning fields used in min/max
functions for which there are conditions of
the form field=const.
mysql-test/t/func_group.test:
Added new test for better coverage of
min/max optimization code.
mysql-test/r/func_group.result:
Added new tests for better coverage of
min/max optimization code.
but still strange interferences between multiple function invocations...
mysql-test/r/sp.result:
New FUNCTION tests.
mysql-test/t/sp.test:
New FUNCTION tests.
sql/item_func.cc:
Fixed field_type bug; now string functions work too.
Removed unecessary function which was added in a state of confusion.
sql/item_func.h:
Fixed field_type bug; now string functions work too.
Removed unecessary function which was added in a state of confusion.
sql/sp_head.cc:
Fixed string type bug, and set the right charset.
Insert constants with an explicit character set
ctype_many.result:
Fix according test change
mysql-test/r/ctype_many.result:
Fix according test change
mysql-test/t/ctype_many.test:
Insert constants with an explicit character set
mysql-test/r/bigint.result:
Auto merged
mysql-test/t/bigint.test:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/item.h:
merge (use local copy)
sql/sql_show.cc:
merge
Don't define crc32 if we are not linking with gzip
cmd-line-utils/libedit/libedit_term.h:
Rename: cmd-line-utils/libedit/term.h -> cmd-line-utils/libedit/libedit_term.h
BitKeeper/etc/ignore:
added scripts/make_win_src_distribution
client/connect_test.c:
Removed wrong include file
(my_global.h should never be included by an external client)
client/insert_test.c:
Removed wrong include file
(my_global.h should never be included by an external client)
client/select_test.c:
Removed wrong include file
(my_global.h should never be included by an external client)
cmd-line-utils/libedit/Makefile.am:
Portability fixes (for HPUX11 and AIX)
cmd-line-utils/libedit/el.h:
Portability fixes (for HPUX11 and AIX)
cmd-line-utils/libedit/key.h:
Portability fixes (for HPUX11 and AIX)
cmd-line-utils/libedit/makelist:
Portability fixes (for HPUX11 and AIX)
cmd-line-utils/libedit/read.c:
Portability fixes (for HPUX11 and AIX)
cmd-line-utils/libedit/readline.c:
Portability fixes (for HPUX11 and AIX)
cmd-line-utils/libedit/readline/readline.h:
Systems that has sys/cdefs may not have __BEGIN_DECLS
cmd-line-utils/libedit/sig.c:
sig_t is not portable
cmd-line-utils/libedit/sig.h:
sig_t is not portable
cmd-line-utils/libedit/term.c:
Portablity fixes
Fixed core dump when using a terminal without arrow key definitions
heap/_check.c:
Portability fix
heap/hp_hash.c:
Portability fix
heap/hp_rkey.c:
Portability fix
include/my_global.h:
Portability fixes for HPUX11
libmysql/libmysql.c:
Removed wrong cast
mysql-test/r/union.result:
New union tests
mysql-test/t/union.test:
New union tests
sql/gen_lex_hash.cc:
Fixed portability bug.
sql/gstream.h:
Portablity fix
sql/item_create.cc:
Don't define crc32 if we are not linking with gzip
sql/item_create.h:
Don't define crc32 if we are not linking with gzip
sql/item_func.cc:
Don't define crc32 if we are not linking with gzip
sql/item_func.h:
Don't define crc32 if we are not linking with gzip
sql/lex.h:
Don't define crc32 if we are not linking with gzip
sql/sql_show.cc:
Name can't be NULL
regarded as unsigned longlongss, not as floats. This make these values work
similar to values between 10000000000000000000 and 18446744073709551615.
mysql-test/r/bigint.result:
Fixed results for bigints
mysql-test/t/bigint.test:
Fixed results for bigints
sql/item.h:
Mark unsigned big ints as unsigned
sql/sql_lex.cc:
Returns numbers between 9223372036854775807 and 9999999999999999999 as unsigned 64 bit numbers
various known problems, but good enough for a checkpoint commit.
mysql-test/r/sp.result:
New tests for invoking simple FUNCTIONs.
mysql-test/t/sp.test:
New tests for invoking simple FUNCTIONs.
sql/item_func.cc:
New Item_func_sp for stored FUNCTIONs.
sql/item_func.h:
New Item_func_sp for stored FUNCTIONs.
sql/sp.cc:
Close mysql.proc table earlier so recursive find_function calls work.
Added temporary sp_function_exists() function for checking without parsing.
sql/sp.h:
Added temporary sp_function_exists() function for checking without parsing.
sql/sp_head.cc:
New code for executing a FUNCTION. (And reworked some of the old code in the process.)
sql/sp_head.h:
New code for executing a FUNCTION.
sql/sp_rcontext.h:
Added result slot for FUNCTIONs.
sql/sql_lex.cc:
Added check for stored FUNCTION, analogous to UDFs.
sql/sql_parse.cc:
sp_head::execute was renamed into execute_procedure.
sql/sql_yacc.yy:
Added parsing of stored FUNCTION invocation and code generation for RETURN statement.
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
BUILD/FINISH.sh:
Auto merged
client/mysqldump.c:
Auto merged
include/my_base.h:
Auto merged
include/my_pthread.h:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/ut/ut0mem.c:
Auto merged
myisam/myisamchk.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/bigint.result:
Auto merged
mysql-test/r/handler.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/innodb_handler.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/t/bigint.test:
Auto merged
mysql-test/t/handler.test:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/innodb_handler.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
sql/mysqld.cc:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/share/czech/errmsg.txt:
Auto merged
sql/share/danish/errmsg.txt:
Auto merged
sql/share/dutch/errmsg.txt:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/share/estonian/errmsg.txt:
Auto merged
sql/share/french/errmsg.txt:
Auto merged
sql/share/greek/errmsg.txt:
Auto merged
sql/share/hungarian/errmsg.txt:
Auto merged
sql/share/italian/errmsg.txt:
Auto merged
sql/share/japanese/errmsg.txt:
Auto merged
sql/share/korean/errmsg.txt:
Auto merged
sql/share/norwegian-ny/errmsg.txt:
Auto merged
sql/share/norwegian/errmsg.txt:
Auto merged
sql/share/polish/errmsg.txt:
Auto merged
sql/share/portuguese/errmsg.txt:
Auto merged
sql/share/romanian/errmsg.txt:
Auto merged
sql/share/russian/errmsg.txt:
Auto merged
sql/share/slovak/errmsg.txt:
Auto merged
sql/share/spanish/errmsg.txt:
Auto merged
sql/share/swedish/errmsg.txt:
Auto merged
sql/share/ukrainian/errmsg.txt:
Auto merged
sql/table.h:
Auto merged
innobase/ibuf/ibuf0ibuf.c:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/share/french/errmsg.txt:
Auto merged
sql/share/german/errmsg.txt:
Auto merged
sql/share/greek/errmsg.txt:
Auto merged
sql/share/hungarian/errmsg.txt:
Auto merged
sql/share/italian/errmsg.txt:
Auto merged
sql/share/japanese/errmsg.txt:
Auto merged
sql/share/korean/errmsg.txt:
Auto merged
sql/share/norwegian-ny/errmsg.txt:
Auto merged
sql/share/norwegian/errmsg.txt:
Auto merged
sql/sql_analyse.cc:
Auto merged
sql/sql_analyse.h:
Auto merged
sql/share/polish/errmsg.txt:
Auto merged
sql/share/portuguese/errmsg.txt:
Auto merged
sql/share/romanian/errmsg.txt:
Auto merged
sql/share/russian/errmsg.txt:
Auto merged
sql/share/slovak/errmsg.txt:
Auto merged
sql/share/spanish/errmsg.txt:
Auto merged
sql/share/ukrainian/errmsg.txt:
Auto merged
mysql-test/t/rpl000015.slave-mi:
Auto merged
mysql-test/t/rpl_rotate_logs.slave-mi:
Auto merged
mysql-test/mysql-test-run.sh:
merge with 3.23
scripts/make_binary_distribution.sh:
merge with 3.23
sql/share/czech/errmsg.txt:
merge with 3.23
sql/share/danish/errmsg.txt:
merge with 3.23
sql/share/dutch/errmsg.txt:
merge with 3.23
sql/share/estonian/errmsg.txt:
merge with 3.23
sql/share/swedish/errmsg.txt:
merge with 3.23
sql/sql_class.cc:
merge with 3.23 (Keep local copy)
Increased some tests' robustness a bit :
- Added RESET MASTER to all tests who do SHOW BINLOG EVENTS, to make them independent from previous tests.
- Added save_master_pos to these tests to wait for the slave to start before purging its binary logs.
mysql-test/r/rpl_log.result:
Updated SHOW BINLOG EVENTS's positions as Monty lengthened std_data/words.dat by 500 bytes.
mysql-test/r/rpl_temporary.result:
Added RESET MASTER to make positions shown by SHOW BINLOG EVENTS independent of any previous test.
mysql-test/r/rpl_user_variables.result:
Added RESET MASTER to make positions shown by SHOW BINLOG EVENTS independent of any previous test.
mysql-test/t/rpl_log.test:
Added save_master_pos to wait for the slave to have started before purging its binary logs.
Otherwise, we could purge before the slave finishes starting, and then the slave could log events implicitly provoked by previous tests.
mysql-test/t/rpl_temporary.test:
Added RESET MASTER to make positions shown by SHOW BINLOG EVENTS independent of any previous test.
mysql-test/t/rpl_user_variables.test:
Added RESET MASTER to make positions shown by SHOW BINLOG EVENTS independent of any previous test.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Expanded the mysql.proc table, reworked the find/create/drop functions
completely, added new functions for FUNCTIONs (lotta functions here :),
got rid of some unnecessary use of Item_strings while at it. Extended
the parser correspondingly, and fiddled around a bit to make SP FUNCTIONs
coexist with UDFs.
Can now CREATE and DROP FUNCTIONs. Invoking yet to come...
Docs/sp-implemented.txt:
Updated with info about CASCADE/RESTICT and METHOD, and some answers to questions.
include/mysqld_error.h:
New error message for misuse of RETURN.
mysql-test/install_test_db.sh:
Added enum field to mysql.proc to distinguish between FUNCTION and PROCEDURE.
mysql-test/r/sp.result:
New test for creating and dropping FUNCTIONS.
mysql-test/t/sp.test:
New test for creating and dropping FUNCTIONS.
scripts/mysql_install_db.sh:
Added enum field to mysql.proc to distinguish between FUNCTION and PROCEDURE.
sql/lex.h:
De-UDFed some symbol names, as they are now used for SPs as well.
Added RETURN_SYM.
sql/share/czech/errmsg.txt:
New error message for misuse of RETURN.
sql/share/danish/errmsg.txt:
New error message for misuse of RETURN.
sql/share/dutch/errmsg.txt:
New error message for misuse of RETURN.
sql/share/english/errmsg.txt:
New error message for misuse of RETURN.
sql/share/estonian/errmsg.txt:
New error message for misuse of RETURN.
sql/share/french/errmsg.txt:
New error message for misuse of RETURN.
sql/share/german/errmsg.txt:
New error message for misuse of RETURN.
sql/share/greek/errmsg.txt:
New error message for misuse of RETURN.
sql/share/hungarian/errmsg.txt:
New error message for misuse of RETURN.
sql/share/italian/errmsg.txt:
New error message for misuse of RETURN.
sql/share/japanese/errmsg.txt:
New error message for misuse of RETURN.
sql/share/korean/errmsg.txt:
New error message for misuse of RETURN.
sql/share/norwegian-ny/errmsg.txt:
New error message for misuse of RETURN.
sql/share/norwegian/errmsg.txt:
New error message for misuse of RETURN.
sql/share/polish/errmsg.txt:
New error message for misuse of RETURN.
sql/share/portuguese/errmsg.txt:
New error message for misuse of RETURN.
sql/share/romanian/errmsg.txt:
New error message for misuse of RETURN.
sql/share/russian/errmsg.txt:
New error message for misuse of RETURN.
sql/share/serbian/errmsg.txt:
New error message for misuse of RETURN.
sql/share/slovak/errmsg.txt:
New error message for misuse of RETURN.
sql/share/spanish/errmsg.txt:
New error message for misuse of RETURN.
sql/share/swedish/errmsg.txt:
New error message for misuse of RETURN.
sql/share/ukrainian/errmsg.txt:
New error message for misuse of RETURN.
sql/sp.cc:
Major rehack to accomodate FUNCTIONs, and to make it easier to add
future in-memory cache of prepared SPs.
sql/sp.h:
Major rehack to accomodate FUNCTIONs, and to make it easier to add
future in-memory cache of prepared SPs.
sql/sp_head.cc:
Now creates FUNCTIONs too. (And got rid of some unnecessary Item_string use.)
sql/sp_head.h:
Now creates FUNCTIONs too. (And got rid of some unnecessary Item_string use.)
sql/sql_lex.h:
New stored FUNCTION commands.
sql/sql_parse.cc:
Added FUNCTION support ("drop" merged with the old UDF code), and made some
additional changes for better error handling (following the sp.cc rehacking).
sql/sql_yacc.yy:
Some former UDF specific symbols renamed.
Added CREATE FUNCTION parsing.
DROP FUNCTION had to be partly merged with the old UDF code, because of the similar
syntax.
RETURN statement added, but still a no-op.
(SCRUM)
mysql-test/r/func_time.result:
result of test default_week_format
mysql-test/t/func_time.test:
test of default_week_format
sql/mysqld.cc:
add option default-week-format
sql/set_var.cc:
add system variable default_week_format
sql/sql_class.h:
add default_week_format into structure system_variables
sql/sql_yacc.yy:
change lex of week() with one parameter
reorganized the sp.test file.
mysql-test/r/sp.result:
New results from the reorganized sp.test file.
mysql-test/t/sp.test:
Reorganized the tests, and added a few new ones. ("fac" and more "select into")
sql/sql_class.cc:
Unlock tables and set thd->lock=0 in select_export::send_eof() and
select_dump::send_eof().
This fixes a problem with an assert() in lock_tables(), and made
SELECT ... INTO OUTFILE and ... INTO DUMPFILE work in stored procedures.
into sanja.is.com.ua:/home/bell/mysql/work-qc-4.1
mysql-test/r/innodb_cache.result:
Auto merged
sql/ha_berkeley.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/handler.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
BitKeeper/etc/gone:
auto-union
BitKeeper/etc/logging_ok:
auto-union
client/mysql.cc:
Auto merged
configure.in:
Auto merged
client/mysqltest.c:
Auto merged
mysql-test/r/connect.result:
Auto merged
mysql-test/r/insert.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/insert.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/Makefile.am:
Auto merged
sql/item.h:
Auto merged
sql/lex.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
client/mysql.cc:
Auto merged
client/mysqldump.c:
Auto merged
configure.in:
Auto merged
include/my_pthread.h:
Auto merged
include/mysql.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/libmysqld.c:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/rpl000001.result:
Auto merged
mysql-test/r/rpl000004.result:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/rpl000001.test:
Auto merged
mysys/my_init.c:
Auto merged
scripts/mysqld_safe.sh:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/structs.h:
Auto merged
Makefile.am:
Merge with 4.0.11
mysql-test/mysql-test-run.sh:
Merge with 4.0.11
mysql-test/r/rpl_log.result:
Use local version (needs to be updated)
mysql-test/t/type_blob.test:
Merge with 4.0.11
sql/mysqld.cc:
Merge with 4.0.11
sql/protocol.cc:
Use local version