Implements creation and dropping of PROCEDUREs, IN, OUT, and INOUT parameters,
single-statement procedures, rudimentary multi-statement (begin-end) prodedures
(when the client can handle it), and local variables.
Missing most of the embedded SQL language, all attributes, FUNCTIONs, error handling,
reparses procedures at each call (no caching), etc, etc.
Certainly buggy too, but procedures can actually be created and called....
sql/Makefile.am:
Added SP files.
sql/item.cc:
Added this*_item() methods for Item_splocal. (SP local variable)
sql/item.h:
Added this*_item() methods for SPs in Item, and the new Item_splocal
class (SP local variable).
sql/lex.h:
Added new symbols for SPs. (Note: SPSET is temporary and will go away later.)
sql/sql_class.cc:
Initialize SP runtime context in THD.
sql/sql_class.h:
Add SP runtime context to THD.
sql/sql_lex.cc:
Init. buf pointer to beginning of command (needed by SPs).
Also initialize SP head and parse time context.
sql/sql_lex.h:
New SQLCOM_ tags for SPs, and added pointer to beginning of command pointer and
SP head and parse-time context to LEX.
sql/sql_parse.cc:
Added SQLCOM_CREATE_PROCEDURE, _CALL, _ALTER_PROCEDURE and _DROP_PROCEDURE cases.
(Still rudimentary and lacking proper error handling...)
sql/sql_yacc.yy:
Lots and lots of additions for SPs...
(Still even more missing, and no error messages...)
Implements creation and dropping of PROCEDUREs, IN, OUT, and INOUT parameters,
single-statement procedures, rudimentary multi-statement (begin-end) prodedures
(when the client can handle it), and local variables.
Missing most of the embedded SQL language, all attributes, FUNCTIONs, error handling,
reparses procedures at each call (no caching), etc, etc.
Certainly buggy too, but procedures can actually be created and called....
Added THD to add_to_xxx_list() functions for faster parsing.
heap/_check.c:
After merge fix
mysql-test/r/distinct.result:
After merge fix
mysql-test/r/multi_update.result:
Make timestamp test portable
mysql-test/t/multi_update.test:
Make timestamp test portable
sql/field.cc:
After merge fix
sql/item_sum.cc:
After merge fix
sql/log_event.cc:
Remove compiler warning
sql/mysql_priv.h:
Added THD to add_to_list (Faster parsing)
sql/sql_derived.cc:
Fixed parameters to create_tmp_table()
sql/sql_lex.cc:
Added THD to add_to_list (Faster parsing)
sql/sql_lex.h:
Added THD to add_to_list (Faster parsing)
sql/sql_parse.cc:
Added THD to add_to_list (Faster parsing)
sql/sql_select.cc:
After merge fixes
Fixed return values from JOIN::optimize()
Replaced test_function_query with '!tables_list'
Optimized arguments to create_tmp_table()
sql/sql_select.h:
Removed test_function_query variable
Updated prototypes
sql/sql_union.cc:
Updated argument lists.
sql/sql_update.cc:
After merge fixes
sql/sql_yacc.yy:
Added THD to all add_xxx_to_list() functions
sql/table.h:
After merge fix
moved SQLCOM_END to the end of the list
bad copy-paste in sql_yacc.yy fixed
sql/mysqld.cc:
added missing Com_xxx status variables
sql/sql_lex.h:
moved SQLCOM_END to the end. Comments added.
sql/sql_yacc.yy:
bad copy-paste fixed :)
fixed sunction-test select in IN bug
fixed unions in subselect bug
include/mysqld_error.h:
new warning
mysql-test/r/subselect.result:
test of * without tables in IN
test of sunction-test select in IN
test of unions in subselect
mysql-test/t/subselect.test:
test of * without tables in IN
test of sunction-test select in IN
test of unions in subselect
sql/item.cc:
fixed * substitution without tables
sql/item_subselect.cc:
fixed subselect rewriting with function-test subselect
sql/item_subselect.h:
mechanism for subselect removing
sql/share/czech/errmsg.txt:
new warning
sql/share/danish/errmsg.txt:
new warning
sql/share/dutch/errmsg.txt:
new warning
sql/share/english/errmsg.txt:
new warning
sql/share/estonian/errmsg.txt:
new warning
sql/share/french/errmsg.txt:
new warning
sql/share/german/errmsg.txt:
new warning
sql/share/greek/errmsg.txt:
new warning
sql/share/hungarian/errmsg.txt:
new warning
sql/share/italian/errmsg.txt:
new warning
sql/share/japanese/errmsg.txt:
new warning
sql/share/korean/errmsg.txt:
new warning
sql/share/norwegian-ny/errmsg.txt:
new warning
sql/share/norwegian/errmsg.txt:
new warning
sql/share/polish/errmsg.txt:
new warning
sql/share/portuguese/errmsg.txt:
new warning
sql/share/romanian/errmsg.txt:
new warning
sql/share/russian/errmsg.txt:
new warning
sql/share/serbian/errmsg.txt:
new warning
sql/share/slovak/errmsg.txt:
new warning
sql/share/spanish/errmsg.txt:
new warning
sql/share/swedish/errmsg.txt:
new warning
sql/share/ukrainian/errmsg.txt:
new warning
sql/sql_base.cc:
fixed case on no name field in UNION subselect
sql/sql_lex.cc:
mechanisp of removing single subselect for optimisation purposes
sql/sql_lex.h:
mechanisp of removing single subselect for optimisation purposes
sql/sql_parse.cc:
error handling
sql/sql_union.cc:
fixed unions in subselect
sql/sql_yacc.yy:
fixed Lex->describe flag appearence
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/lex.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_delete.cc:
new order in global select list
sql/sql_derived.cc:
removed recursion from derived tables
sql/sql_insert.cc:
new order in global select list
sql/sql_lex.h:
pointer to global select list
sql/sql_select.cc:
new order in global select list
sql/sql_update.cc:
new order in global select list
sql/item.h:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
Compatibility syntax: SERIAL, [PRIMARY] KEY and VALUE
sql/sql_lex.cc:
Faster handling of identifiers
sql/sql_lex.h:
Faster handling of identifiers
sql/sql_yacc.yy:
Added SERIAL (alias for bigint auto_increment)
Make PRIMARY optional in field specification
Make VALUE alias for VALUES
Fixed context in error mesages
mysql-test/r/subselect.result:
tests of references and error message
mysql-test/t/subselect.test:
tests of references and error message
sql/item.cc:
Fixed layout
Resolving field names of outer select
sql/item_subselect.cc:
saving/restoring context for error messages
sql/mysql_priv.h:
changed function interface to allow resolving field names inside Item_ref::fix_fields
sql/sql_base.cc:
changed function interface to allow resolving field names inside Item_ref::fix_fields
sql/sql_lex.h:
allow access to thd field
This is required for prepared statements and stored procedures.
BitKeeper/etc/ignore:
Added bkpull.log bkpull.log.2 bkpull.log.3 build.log sql/safe_to_cache_query.txt to the ignore list
sql/item_create.cc:
Moved safe_to_cache_query from thd to lex.
sql/item_func.cc:
Moved safe_to_cache_query from thd to lex.
sql/sql_cache.cc:
Moved safe_to_cache_query from thd to lex.
Note: Query_cache::is_cacheable() has both a thd and lex argument.
We assumed that it's the lex->safe_to_cache_query we should test.
sql/sql_class.cc:
Moved safe_to_cache_query from thd to lex.
sql/sql_class.h:
Moved safe_to_cache_query from thd to lex.
sql/sql_lex.cc:
Moved safe_to_cache_query from thd to lex.
We set it to 1 initially. It's then set to 0 in cases where
it's know not to be safe. (Before this change, it was set to
0 in thd, and then set to 1 before parsing.)
sql/sql_lex.h:
Moved safe_to_cache_query from thd to lex.
sql/sql_parse.cc:
Moved safe_to_cache_query from thd to lex.
No point in setting it here now, it's set in lex_start() later.
sql/sql_prepare.cc:
Moved safe_to_cache_query from thd to lex.
Must set it after lex_start() has been called.
sql/sql_yacc.yy:
Moved safe_to_cache_query from thd to lex.
BitKeeper/etc/gone:
auto-union
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-.my_sys.h.swp~f6a4a7f8dae03f18:
Auto merged
BitKeeper/etc/config:
Auto merged
acconfig.h:
Auto merged
acinclude.m4:
Auto merged
Docs/manual.texi:
Auto merged
client/mysqlcheck.c:
Auto merged
client/mysqlshow.c:
Auto merged
include/myisam.h:
Auto merged
include/violite.h:
Auto merged
isam/pack_isam.c:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/Makefile.am:
Auto merged
myisam/ft_nlq_search.c:
Auto merged
myisam/mi_open.c:
Auto merged
myisam/mi_write.c:
Auto merged
myisam/sort.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/func_test.result:
Auto merged
mysql-test/r/isam.result:
Auto merged
mysql-test/r/rpl_replicate_do.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/func_test.test:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/t/rpl_rotate_logs.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
mysys/hash.c:
Auto merged
mysys/tree.c:
Auto merged
scripts/Makefile.am:
Auto merged
sql/Makefile.am:
Auto merged
sql/filesort.cc:
Auto merged
sql/gen_lex_hash.cc:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/hash_filo.h:
Auto merged
sql/hostname.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/lex.h:
Auto merged
sql/lock.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/mini_client.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/slave.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_analyse.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_rename.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_udf.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/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/errmsg.txt:
Auto merged
sql/table.h:
Auto merged
sql/unireg.cc:
Auto merged
sql-bench/server-cfg.sh:
Auto merged
sql/share/norwegian-ny/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/ha_myisam.cc:
Merge with 4.0
Removed some commented code
sql/sql_db.cc:
Merge with 4.0
Optimized the logging of the drop db call a bit
sql/sql_update.cc:
Added comment
fixed bug in error handling
mysql-test/r/subselect.result:
test of error handling
test of derived tables inside subselect
mysql-test/t/subselect.test:
test of error handling
test of derived tables inside subselect
sql/sql_class.cc:
fixed error handling error
sql/sql_lex.h:
fifex layout
sql/sql_parse.cc:
fixed processing of derived tables
sql/sql_select.cc:
more quick abort on error
Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
New variables @@rand_seed1 and @@rand_seed2 (used by replication)
DROP TEMPORARY TABLE
mysql-test/r/rpl_log.result:
Update of results after last replication change
mysql-test/r/variables.result:
Test of new variables @@rand_seed1 and @@rand_seed2
mysql-test/t/variables.test:
Test of new variables @@rand_seed1 and @@rand_seed2
sql/field.cc:
Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
sql/field.h:
Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
sql/item_func.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/log.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
More debug information
sql/log_event.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/log_event.h:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/set_var.cc:
Add system variables @@rand_seed1 and @@rand_seed2
sql/set_var.h:
Add system variables @@rand_seed1 and @@rand_seed2
sql/slave.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_acl.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_base.cc:
Store DROP of temporary tables in binlog cache
sql/sql_class.h:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_db.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_delete.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_insert.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_lex.h:
DROP TEMPORARY TABLE
sql/sql_load.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_parse.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_rename.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_repl.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_repl.h:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_table.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_update.cc:
Put temporary files in binlog cache when using BEGIN/COMMIT
sql/sql_yacc.yy:
DROP TEMPORARY
sql/table.cc:
Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
sql/unireg.cc:
Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
Let MySQL 4.0 read 4.1 .frm files without 4.1 specific extensions
New variables @@rand_seed1 and @@rand_seed2 (used by replication)
DROP TEMPORARY TABLE
sql/item.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/sql_lex.cc:
Merged
sql/sql_lex.h:
Merged
onversion with check
sql/item.cc:
removed similar code
sql/item_sum.cc:
conversion with check
sql/sql_delete.cc:
conversion with check
sql/sql_derived.cc:
style fix
sql/sql_lex.cc:
conversion with check
moved similar code to function
sql/sql_lex.h:
conversion with check
moved similar code to function
sql/sql_parse.cc:
conversion with check
sql/sql_update.cc:
conversion with check
sql/sql_yacc.yy:
conversion with check
into sanja.is.com.ua:/home/bell/mysql/work-pointer-4.1
sql/item.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
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
sql/sql_yacc.yy:
Auto merged
mysql-test/r/subselect.result:
IN subselect with ORDER BY, HAVING & sum functions test
mysql-test/t/subselect.test:
IN subselect with ORDER BY, HAVING & sum functions test
sql/item.h:
removed field, because parent class has same field