Easy to prevent crash, but the question was how to treat this case?
We ended up implementing the "global" SPs (i.e. with no associated
db), which were planned but left unresolved when SPs moved into dbs.
So now things like "call .p()" work too.
mysql-test/r/sp-error.result:
New test case for BUG#5000, and "global" SPs in general.
mysql-test/t/sp-error.test:
New test case for BUG#5000, and "global" SPs in general.
sql/sp.cc:
Prevent crash when the new db is null.
sql/sp_head.cc:
Don't set the db part of the name to thd->db, we have already set it correctly
in the provided name struct.
Also, don't attempt to change "no-db" when executing an SP.
sql/sql_yacc.yy:
Added support for the "global SP" syntax, e.g ".p()".
Althought techically not a but (as it's functioning as designed),
it was decided that the design should be changed. Some users have
a problem with dates being '0000-00-00' and the SQL standard specifies
that the modification date should be the same as the creation date
at creation.
mysql-test/r/sp.result:
New test case for BUG#5258.
mysql-test/t/sp.test:
New test case for BUG#5258.
sql/sp.cc:
Set the modification time at creation too.
mysql-test/r/view.result:
INSERT into VIEW with ON DUPLICATE
mysql-test/t/view.test:
INSERT into VIEW with ON DUPLICATE
sql/sql_insert.cc:
do not use Item_ref for view fields if it is UPDATE of INSERT
into sanja.is.com.ua:/home/bell/mysql/bk/work-5.0
mysql-test/r/view.result:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/table.h:
Auto merged
libmysql/libmysql.c:
More debug
sql/item.h:
Print value of param if it has a value (when debugging)
sql/log.cc:
Better variable name
sql/sql_insert.cc:
Fix bug casused by merge
sql/sql_parse.cc:
Added missing command names (caused crash when running with --debug)
sql/sql_select.cc:
More debugging
sql/sql_yacc.yy:
Fixed typo
tests/client_test.c:
More debugging
mysql-test/r/view.result:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/table.h:
Auto merged
tests/client_test.c:
Auto merged
sql/sql_base.cc:
Merge
sql/sql_insert.cc:
Merge
sql/sql_select.cc:
Merge
sql/sql_view.cc:
Merge
sql/table.cc:
Merge
Merged the different find_xxxx_table_in_list functions to one + some inline functions
mysql-test/r/view.result:
Fix result (remove not used view from show tables)
sql/item_subselect.cc:
Remove not used functions
sql/item_subselect.h:
Remove not used functions
sql/mysql_priv.h:
Merged the different find_xxxx_table_in_list functions to one + some inline functions
sql/sql_acl.cc:
More debugging + simple cleanups
sql/sql_base.cc:
Merged the different find_xxxx_table_in_list functions to one + some inline functions
Indentation cleanups & more comments
sql/sql_delete.cc:
Namechange
sql/sql_insert.cc:
Simple optimizations & Style cleanups
Merged common code (in mysql_prepare_insert_check_table)
sql/sql_lex.cc:
function name changes
More comments
sql/sql_parse.cc:
Function name changes
Made check_one_table_access returning bool
More debugging in 'check_access'
Added function 'check_some_access', which is used when creating a view
sql/sql_prepare.cc:
Resetting flag directly after test makes code easier to read
sql/sql_select.cc:
Code simplifications
sql/sql_show.cc:
Indentation cleanups.
Fixed typo in name
sql/sql_update.cc:
Function name change
sql/sql_view.cc:
Simple optimizations.
Style fixes.
Remove view_field_names[]
Simplified 'check_key_in_view()'
sql/table.cc:
Simplified new code in openfrm()
variable name change i -> item
Indentation changes
sql/table.h:
Fixed typo in variable name
Method name change in field iterator: end() -> end_of_fields()
tests/client_test.c:
Changed number to macro
mysql-test/r/sp.result:
New test case for BUG#5307
mysql-test/t/sp.test:
New test case for BUG#5307
sql/sp_head.cc:
Use the correct end-of-query pointer when extracting the body in the case
of a create procedure compound with another statement.
Bug in diff_handlers and diff_cursors made it attempt to pop
the wrong number at jumps sometimes.
mysql-test/r/sp.result:
New testcase for BUG#5287.
mysql-test/t/sp.test:
New testcase for BUG#5287.
sql/sp_pcontext.cc:
Fixed diff_handlers and diff_cursors methods, they miscounted.
sql/sp_pcontext.h:
Made m_handlers available for diff_handlers.
include/mysqld_error.h:
bug name and number of bugs fixed
mysql-test/r/view.result:
VIEW over SELECT with prohibited clauses
mysql-test/t/view.test:
VIEW over SELECT with prohibited clauses
sql/share/czech/errmsg.txt:
error message made more general
sql/share/danish/errmsg.txt:
error message made more general
sql/share/dutch/errmsg.txt:
error message made more general
sql/share/english/errmsg.txt:
error message made more general
sql/share/estonian/errmsg.txt:
error message made more general
sql/share/french/errmsg.txt:
error message made more general
sql/share/german/errmsg.txt:
error message made more general
sql/share/greek/errmsg.txt:
error message made more general
sql/share/hungarian/errmsg.txt:
error message made more general
sql/share/italian/errmsg.txt:
error message made more general
sql/share/japanese/errmsg.txt:
error message made more general
sql/share/korean/errmsg.txt:
error message made more general
sql/share/norwegian-ny/errmsg.txt:
error message made more general
sql/share/norwegian/errmsg.txt:
error message made more general
sql/share/polish/errmsg.txt:
error message made more general
sql/share/portuguese/errmsg.txt:
error message made more general
sql/share/romanian/errmsg.txt:
error message made more general
sql/share/russian/errmsg.txt:
error message made more general
sql/share/serbian/errmsg.txt:
error message made more general
sql/share/slovak/errmsg.txt:
error message made more general
sql/share/spanish/errmsg.txt:
error message made more general
sql/share/swedish/errmsg.txt:
error message made more general
sql/share/ukrainian/errmsg.txt:
error message made more general
sql/sql_view.cc:
checked INTO clause during view creation
mysql-test/r/view.result:
problem with used_tables() of outer reference resolved in VIEW
mysql-test/t/view.test:
problem with used_tables() of outer reference resolved in VIEW
sql/item.cc:
fixed staistic of subquery if outer field resolved in merged view
mysql-test/r/view.result:
VIEWs with national characters
mysql-test/t/view.test:
VIEWs with national characters
sql/sql_view.cc:
system charset (with wich VIEW printed) saved in .frm and restored before parsing view
sql/table.h:
system charset (with wich VIEW printed) saved in .frm
mysql-test/r/view.result:
VIEW with floating point (long bumber) as column
mysql-test/t/view.test:
VIEW with floating point (long bumber) as column
sql/item.cc:
fixed printing of real constants
sql/item.h:
fixed printing of real constants
mysql-test/r/view.result:
fixed test
VIEW over droped function
mysql-test/t/view.test:
VIEW over droped function
sql/item_func.cc:
after review fix
sql/sp.cc:
hint to find mysql.proc
sql/sql_lex.h:
hint to find mysql.proc
sql/sql_parse.cc:
hint to find mysql.proc
sql/sql_view.cc:
adding mysql.proc to table list if view contains stored procedures
mysql-test/r/subselect.result:
ORDER clause printing fixed
mysql-test/r/view.result:
order by refers on integer field
mysql-test/t/view.test:
order by refers on integer field
sql/sql_lex.cc:
ORDER clause printing fixed
sql/sql_parse.cc:
fields for correct ORDER printing added
sql/sql_select.cc:
fields for correct ORDER printing added
sql/table.h:
fields for correct ORDER printing added
into pcgem.rdg.cyberkinetica.com:/usr/home/acurtis/work/mysql-5.0
mysql-test/r/sp.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/view.result:
tested problem when function name length close to ALIGN_SIZE
mysql-test/t/view.test:
tested problem when function name length close to ALIGN_SIZE
sql/item_func.cc:
fixed case when real length very close to calculated (less then ALIGN)
mysql-test/r/view.result:
VIEW based on functions with complex names
mysql-test/t/view.test:
VIEW based on functions with complex names
sql/item_func.cc:
fixed printing of stored procedure functions names
A lot of the default.c module code was refactored. The patch is needed
for the IM.
include/my_sys.h:
Definitions added.
mysys/default.c:
Added new api call: process_default_option_files. Also some coments
changed to reflect current state of the code. It takes Basename for
config file and the function to process options. The function is called
everytime when we find an option. This way it is possible to get and
process options from several groups in one file traversal.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
mysql-test/r/sp.result:
New testcase for BUG#5251.
mysql-test/t/sp.test:
New testcase for BUG#5251.
sql/sp_head.cc:
Added checksum to the list of statements that return result sets.
Putting initialization into .cc will reduce compiler's abilities
to optimize this constant away.
Defines are not OK as they bloat global namespace.
Looking for a way to declare an efficient named constant in reduced
namespace (i. e. in a class).
Let's try enums: normally they should be implicitly casted to int.
Let's see if we really have a compiler which won't do that.
libmysqld/lib_sql.cc:
Added explicit cast to int for Protocol::{SEND_DEFAULTS,SEND_NUM_ROWS,
SEND_EOF}
flags argument of send_fields() is now int.
sql/protocol.cc:
flags argument of send_fields is now int.
sql/protocol.h:
Catch22: Microsoft VC++ won't compile
class C { static const int I=1; }.
Putting initialization into .cc will reduce compiler's abilities
to optimize this constant away.
Defines are not OK as they bloat global namespace.
Looking for a way to declare an efficient named constant in reduced
namespace (i. e. in a class).
Let's try enums: normally they should be implicitly casted to int.
Let's see if we really have a compiler which won't do that.
sql/protocol_cursor.cc:
flags are now int.
mysql-test/r/sp.result:
New test case for BUG#5251.
mysql-test/t/sp.test:
New test case for BUG#5251.
sql/sp.cc:
Don't update the created timestamp when doing alter procedure/function.
mysql-test/r/view.result:
VIEW of VIEW with column renaming
mysql-test/t/view.test:
VIEW of VIEW with column renaming
sql/mysql_priv.h:
Item name for VIEW added to find_field_in_table
sql/sql_acl.cc:
new parameter
sql/sql_base.cc:
Item name for VIEW added to find_field_in_table
fixed other Item_ref methods where result_field involved
mysql-test/r/view.result:
statements added to distinct in temporary table with a VIEW test
test of agggregate over aggregate with view
mysql-test/t/view.test:
statements added to distinct in temporary table with a VIEW test
test of agggregate over aggregate with view
sql/item.cc:
fixed other Item_ref methods where result_field involved
sql/item.h:
fixed other Item_ref methods where result_field involved
sql/sql_lex.cc:
fixed updateability VIEW detection
This finishes (almost) WL#2002: Implement stored procedure GOTO.
Only the syntax issue for free labels remains ("label L;" vs "L:").
include/mysqld_error.h:
New error code for GOTO in SP handler.
mysql-test/r/sp-error.result:
New error test cases for GOTO.
mysql-test/r/sp.result:
New test cases for GOTO.
Also removed some things that made it impossible to run the test in
an external (debugged) mysqld.
mysql-test/t/sp-error.test:
New error test cases for GOTO.
mysql-test/t/sp.test:
New test cases for GOTO.
Also removed some things that made it impossible to run the test in
an external (debugged) mysqld.
sql/share/czech/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/danish/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/dutch/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/english/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/estonian/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/french/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/german/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/greek/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/hungarian/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/italian/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/japanese/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/korean/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/norwegian-ny/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/norwegian/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/polish/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/portuguese/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/romanian/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/russian/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/serbian/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/slovak/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/spanish/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/swedish/errmsg.txt:
New error message for GOTO in SP handler.
sql/share/ukrainian/errmsg.txt:
New error message for GOTO in SP handler.
sql/sp_head.cc:
Code cleanup (renaming of pcontext methods), support goto, and fixed bug
in jump shortcutting in the optimizer (detect infinite loops).
sql/sp_head.h:
Code cleanup (renaming of pcontext methods), support goto, and fixed bug
in jump shortcutting in the optimizer (detect infinite loops).
sql/sp_pcontext.cc:
Major rehack and cleanup:
- We now push and pop a chain of contexts during parsing (instead of having
a single one).
- Makes error detection for GOTO easier and enables some optmizations and
debugger support.
- Makes it a little trickier to keep track on variable and cursor indexes instead.
- Renamed things to get a more consistent naming scheme too.
sql/sp_pcontext.h:
Major rehack and cleanup:
- We now push and pop a chain of contexts during parsing (instead of having
a single one).
- Makes error detection for GOTO easier and enables some optmizations and
debugger support.
- Makes it a little trickier to keep track on variable and cursor indexes instead.
- Renamed things to get a more consistent naming scheme too.
sql/sql_yacc.yy:
Changes to reflect the rework and renamings in sp_pcontext, and fixed
some GOTO error checking.
mysql-test/r/view.result:
distinct in temporary table with a VIEW
mysql-test/t/view.test:
distinct in temporary table with a VIEW
sql/item.cc:
fix of Item_ref with result_field
sql/item.h:
fix of Item_ref with result_field
mysql-test/r/view.result:
SHOW CREATE VIEW output changed
test of SHOW CREATE VIEW for view with spaces in the name
mysql-test/t/view.test:
test of SHOW CREATE VIEW for view with spaces in the name
sql/sql_show.cc:
fixes name outout for SHOW CREATE VIEW command
mysql-test/r/view.result:
Showing VIEW with VIEWs in subquery
mysql-test/t/view.test:
Showing VIEW with VIEWs in subquery
sql/sql_lex.cc:
new method to detect commands where all VIEWs should be temporary tables
sql/sql_lex.h:
new method to detect commands where all VIEWs should be temporary tables
sql/sql_view.cc:
new method to detect commands where all VIEWs should be temporary tables
debug output added
mysql-test/r/view.result:
Aggregate functions in view list
mysql-test/t/view.test:
Aggregate functions in view list
sql/table.cc:
fixed aggregate function processing in VIEWs