Commit graph

671 commits

Author SHA1 Message Date
unknown
c9fa6a47bd view.test:
Added a test case for bug #10970.
view.result:
  Added a test case for bug #10970.
  Modified the error messages for error ER_VIEW_SELECT_TMPTABLE.
sql_view.cc:
  Fixed bug #10970.
  In the function mysql_create_view if a view does not refer
  any tables directly the variable table must be updated
  after the call of open_and_lock_tables.
errmsg.txt:
  Modified the error messages for error ER_VIEW_SELECT_TMPTABLE
  (when fixing bug #10970).


sql/share/errmsg.txt:
  Modified the error messages for error ER_VIEW_SELECT_TMPTABLE
  (when fixing bug #10970).
sql/sql_view.cc:
  Fixed bug #10970.
  In the function mysql_create_view if a view does not refer
  any tables directly the variable table must be updated
  after the call of open_and_lock_tables.
mysql-test/r/view.result:
  Fixed bug #10970.
  Modified the error messages for error ER_VIEW_SELECT_TMPTABLE.
mysql-test/t/view.test:
  Added a test case for bug #10970.
2005-08-17 22:19:12 -07:00
unknown
163b04c3fa Merge mysql.com:/home/jimw/my/mysql-5.0-10627
into  mysql.com:/home/jimw/my/mysql-5.0-clean


sql/share/errmsg.txt:
  SCCS merged
2005-08-15 12:38:56 -07:00
unknown
c5aac211d0 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0


sql/ha_berkeley.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/sql_class.cc:
  Manual merge
2005-08-15 18:35:48 +03:00
unknown
a914b5274f Save and clear run context before executing a stored function or trigger and restore it afterwards.
This allows us to use statement replication with functions and triggers
The following things are fixed with this patch:
- NOW() and automatic timestamps takes the value from the main event for functions and triggers (which allows these to replicate with statement level logging)
- No side effects for triggers or functions with auto-increment values(), last_insert_id(), rand() or found_rows()
- Triggers can't return result sets

Fixes bugs:
#12480: NOW() is not constant in a trigger
#12481: Using NOW() in a stored function breaks statement based replication
#12482: Triggers has side effects with auto_increment values
#11587: trigger causes lost connection error


mysql-test/r/trigger.result:
  Added test fpr big
mysql-test/t/sp-error.test:
  Changed error message numbers
mysql-test/t/trigger.test:
  Added test for trigger returning result (#11587)
sql/item_func.cc:
  Store the first used seed value for RAND() value.
  (This makes rand() replicatable in functions and triggers)
  Save and clear run context before executing a stored function and restore it afterwards.
  This removes side effects of stored functions for RAND(), auto-increment values and NOW() and makes most stored function replicatable
sql/share/errmsg.txt:
  Reuse error message also for triggers
sql/sp_head.cc:
  If in function or trigger, don't change value of NOW()
  (This allows us to use statement replication with functions that directly or indirectly uses timestamps)
sql/sql_class.cc:
  Added framework for storing and retrieving run context while exceuting triggers or stored functions.
sql/sql_class.h:
  Added framework for storing and retrieving run context while exceuting triggers or stored functions.
sql/sql_parse.cc:
  If in function or trigger, don't change value of NOW()
  (This allows us to use statement replication with functions that directly or indirectly uses timestamps)
sql/sql_trigger.cc:
  Moved process_triggers function from sql_trigger.h
  Use reset/restore sub_statement_state while executing triggers to avoid side effects and make them replicatable
sql/sql_trigger.h:
  Moved process_triggers function from sql_trigger.h
  Use reset/restore sub_statement_state while executing triggers to avoid side effects and make them replicatable
sql/sql_yacc.yy:
  Give error message if trigger can return a result set (Bug #11587)
tests/fork_big2.pl:
  Removed return from end of lines
mysql-test/r/rpl_trigger.result:
  New BitKeeper file ``mysql-test/r/rpl_trigger.result''
mysql-test/t/rpl_trigger.test:
  New BitKeeper file ``mysql-test/t/rpl_trigger.test''
2005-08-15 18:15:12 +03:00
unknown
03e8517cb2 merged
sql/ha_innodb.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-08-12 22:58:13 +02:00
unknown
87ae5a1597 BUG#12162 - one can start two transactions with the same XID.
Now we keep all active XID's in a hash
2005-08-12 21:15:01 +02:00
unknown
8559ef627d Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/dlenev/src/mysql-5.0-bg12280


sql/sql_parse.cc:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
2005-08-10 10:32:43 +04:00
unknown
f6fff55eb0 Fix for bug #12280 "Triggers: crash if flush tables".
We should not allow FLUSH statement to be executed inside both triggers
and stored functions.


mysql-test/r/sp-error.result:
  Updated test after replacing error, which is thrown when one uses FLUSH
  statement inside of stored function, with more specific.
  Also now we issue more general error when we barking about USE command
  in stored routines.
mysql-test/r/trigger.result:
  Added test for bug #12280 "Triggers: crash if flush tables"
mysql-test/t/sp-error.test:
  Updated test after replacing error, which is thrown when one uses FLUSH
  statement inside of stored function, with more specific.
  Also now we issue more general error when we barking about USE command
  in stored routines.
mysql-test/t/trigger.test:
  Added test for bug #12280 "Triggers: crash if flush tables"
sql/share/errmsg.txt:
  Removed ER_SP_NO_USE error. Now we use more general ER_SP_BADSTATEMENT in this
  case. Instead added error message for barking about statements which should not
  be allowed inside of stored functions or triggers.
  It is safe to do this since it is highly unprobable that someone will upgrade
  first to the new 5.0 release and then downgrade back to the old one.
sql/sql_parse.cc:
  reload_acl_and_cache():
    FLUSH TABLES and FLUSH PRIVILEGES should not be allowed if we are inside
    of stored function or trigger.
sql/sql_yacc.yy:
  We should not allow FLUSH statement inside both triggers and stored
  functions. Replaced error which is thrown in this case with more
  specific.
  Also now we issue more general ER_SP_BADSTATEMENT error when one tries
  to use USE command inside of stored routine.
2005-08-10 10:31:32 +04:00
unknown
1f01817e09 Merge mysql.com:/home/jimw/my/mysql-5.0-6080
into  mysql.com:/home/jimw/my/mysql-5.0-clean


sql/sql_parse.cc:
  Auto merged
sql/share/errmsg.txt:
  SCCS merged
2005-08-08 10:12:24 -07:00
unknown
9e5c20f31f Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO
Give the user a warning if he tries to destroy the default key cache.


mysql-test/r/key_cache.result:
  Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO
  The test result.
mysql-test/t/key_cache.test:
  Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO
  The test case.
sql/share/errmsg.txt:
  Bug#10473 - Can't set 'key_buffer_size' system variable to ZERO
  The new message string.
2005-08-07 20:39:17 +02:00
unknown
c62a594200 Fix error message when creating a non-string field with a display
width beyond the maximum. (Bug #6080)


mysql-test/r/errors.result:
  Update results
mysql-test/r/type_bit.result:
  Update results
mysql-test/r/type_bit_innodb.result:
  Update results
mysql-test/t/errors.test:
  Add new regression test
mysql-test/t/type_bit_innodb.test:
  Update error code in test
sql/share/errmsg.txt:
  Add new error message
sql/sql_parse.cc:
  Display more appropriate error message for column creation that
  fails due to a non-string field with a display width that is too
  big.
2005-08-05 17:22:53 -07:00
unknown
1ea0632e6c Merge mysql.com:/home/jimw/my/mysql-5.0-11602
into  mysql.com:/home/jimw/my/mysql-5.0-clean


client/mysqltest.c:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/share/errmsg.txt:
  Resolve conflict
2005-08-02 16:50:12 -07:00
unknown
455ee425d1 Generate a warning/error when DATE_SUB/ADD() functions calculate a date
that is outside the acceptable date range. (Bug #10627)


mysql-test/r/func_date_add.result:
  Add new results
mysql-test/t/func_date_add.test:
  Add new regression test
sql/item_timefunc.cc:
  Add warning for error conditions in Item_date_add_interval::get_date()
sql/share/errmsg.txt:
  Add new error message
2005-08-02 15:28:09 -07:00
unknown
705118d1f6 issue correct error message in case of view presence for duplicated table on update (BUG#10773)
frequently used command sequence replaced with inline function


BitKeeper/etc/config:
  logging switching off
mysql-test/r/lowercase_view.result:
  hided view underlying tables from error message
mysql-test/r/view.result:
  hided view underlying tables from error message
mysql-test/t/lowercase_view.test:
  hided view underlying tables from error message
mysql-test/t/view.test:
  hided view underlying tables from error message
sql/mysql_priv.h:
  subroutine which return correct error message
sql/share/errmsg.txt:
  new error message
sql/sql_base.cc:
  subroutine which issue correct error message in case of view presence for duplicated table on update
sql/sql_delete.cc:
  issue correct error message in case of view presence for duplicated table on update
sql/sql_insert.cc:
  issue correct error message in case of view presence for duplicated table on update
sql/sql_parse.cc:
  issue correct error message in case of view presence for duplicated table on update
sql/sql_update.cc:
  issue correct error message in case of view presence for duplicated table on update
sql/sql_view.cc:
  frequently used command sequence replaced with inline function
sql/table.cc:
  frequently used command sequence replaced with inline function
sql/table.h:
  frequently used command sequence replaced with inline function
2005-08-02 22:54:49 +03:00
unknown
eb25e83ee4 Increase allowed size of stored procedure bodies to 4GB, and
produce a sensible error when that limit is exceeded. (Bug #11602)


client/mysqltest.c:
  Increase query buffer size, and explain why
mysql-test/r/system_mysql_db.result:
  Update results
scripts/mysql_create_system_tables.sh:
  Increase size of proc.body
scripts/mysql_fix_privilege_tables.sql:
  Increase size of proc.body
sql/share/errmsg.txt:
  Add error for SP routines that are too long
sql/sp.cc:
  Raise an error when the SP body is too long.
sql/sp.h:
  Add error for SP body being too long.
sql/sql_parse.cc:
  Handle SP_BODY_TOO_LONG error.
mysql-test/r/sp-big.result:
  New BitKeeper file ``mysql-test/r/sp-big.result''
mysql-test/t/sp-big.test:
  New BitKeeper file ``mysql-test/t/sp-big.test''
2005-07-26 18:08:49 -07:00
unknown
1f4afa3879 Merge mysql.com:/home/jimw/my/mysql-5.0-11213
into  mysql.com:/home/jimw/my/mysql-5.0-clean


sql/sql_parse.cc:
  Auto merged
sql/share/errmsg.txt:
  SCCS merged
2005-07-22 12:38:14 -07:00
unknown
d3e684464c errmsg.txt:
Change an ` quote to ' (' is used everywhere else)
  This does not affect any test results.


sql/share/errmsg.txt:
  Change an ` quote to ' (' is used everywhere else)
  This does not affect any test results.
2005-07-22 12:46:39 -05:00
unknown
4ca63ea4d5 Merge mysql.com:/home/gluh/MySQL/Merge/4.1
into mysql.com:/home/gluh/MySQL/Merge/5.0


sql/share/charsets/Index.xml:
  Auto merged
strings/ctype-latin1.c:
  Auto merged
2005-07-21 17:55:16 +05:00
unknown
e5c4a3e12f Bug#11216: 'show character set' describes latin1 incorrectly
Index.xml:
  Fixing latin1 comment:
  it is actually cp1252, not iso-8859-1
ctype_latin1.result:
  changeing test results accordingly.
ctype-latin1.c:
  Fixed to- and from-Unicode conversion maps
  for better Unicode round trip of undefined
  characters.



strings/ctype-latin1.c:
  Bug#11216: 'show character set' describes latin1 incorrectly
  Fixed to- and from-Unicode conversion maps.
mysql-test/r/ctype_latin1.result:
  changeing test results accordingly.
sql/share/charsets/Index.xml:
  Fixing comment: iso-8859-1 -> cp1252
2005-07-21 16:05:19 +05:00
unknown
a160bc9cce Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/dlenev/src/mysql-5.0-tn


mysql-test/r/information_schema.result:
  Auto merged
mysql-test/t/information_schema.test:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/share/errmsg.txt:
  Manual merge.
2005-07-19 20:55:09 +04:00
unknown
a32bf7fb82 Fix for bugs #5892/6182/8751/8758/10994 (based on Antony's patch)
"Triggers have the wrong namespace"
  "Triggers: duplicate names allowed"
  "Triggers: CREATE TRIGGER does not accept fully qualified names"
  "SHOW TRIGGERS"


mysql-test/r/information_schema.result:
  Added tests for new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command.
mysql-test/r/information_schema_db.result:
  INFORMATION_SCHEMA.TRIGGERS view was added.
mysql-test/r/rpl_sp.result:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
mysql-test/r/trigger.result:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
  Added test checking that triggers have database wide namespace.
  Added test for bug #8791 "Triggers: Allowed to create triggers on a subject
  table in a different DB".
mysql-test/r/view.result:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
mysql-test/t/information_schema.test:
  Added tests for new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command.
mysql-test/t/rpl_sp.test:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
mysql-test/t/trigger.test:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
  Added test checking that triggers have database wide namespace.
  Added test for bug #8791 "Triggers: Allowed to create triggers on a subject
  table in a different DB".
mysql-test/t/view.test:
  Now DROP TRIGGER interprets first part of trigger identifier as database
  name and not as table name. Adjusted tests properly.
sql/handler.cc:
  Added .TRN tho the list of known file extensions assoicated with tables.
sql/item.h:
  trg_action_time_type/trg_event_type enums:
    Added TRG_ACTION_MAX/TRG_EVENT_MAX elements which should be used instead of
    magical values in various loops where we iterate through all types of trigger
    action times or/and trigger event types.
sql/lex.h:
  Added new symbol "TRIGGERS".
sql/mysql_priv.h:
  Added declaration of constant holding extension for trigger name (.TRN) files.
sql/mysqld.cc:
  Added statistical variable for SHOW TRIGGERS command.
sql/share/errmsg.txt:
  Added error message saying that one attempts to create trigger in wrong schema.
sql/sp.cc:
  Replaced magical values with TRG_EVENT_MAX/TRG_ACTION_MAX constants.
sql/sql_base.cc:
  open_unireg_entry():
    Now Table_triggers_list::check_n_load() has one more argument which
    controls whether we should prepare Table_triggers_list with fully functional
    triggers or load only their names.
sql/sql_lex.h:
  Added element for new SHOW TRIGGERS command to enum_sql_command enum.
sql/sql_parse.cc:
  prepare_schema_table():
    Added support for SHOW TRIGGERS statement.
sql/sql_show.cc:
  Added new INFORMATION_SCHEMA.TRIGGERS view and SHOW TRIGGERS command.
sql/sql_table.cc:
  mysql_rm_table_part2():
    Replaced simple deletion of .TRG file with call to
    Table_triggers_list::drop_all_triggers which will also delete .TRN files
    for all triggers associated with table.
sql/sql_trigger.cc:
  Now triggers have database wide namespace. To support it we create special .TRN
  file with same name as trigger for each trigger. This file contains name of
  trigger's table so one does not need to specify it explicitly in DROP TRIGGER.
  Moreover DROP TRIGGER treats first part of trigger identifier as database name
  now. Updated mysql_create_or_drop_trigger() routine and
  Table_triggers_list::create_trigger()/drop_trigger()/check_n_load() methods
  accordingly. Added add_table_for_trigger() routine and
  Table_triggers_list::drop_all_triggers() method.
  
  Added Table_triggers_list::get_trigger_info() for obtaining trigger metadata.
sql/sql_trigger.h:
  Table_triggers_list:
    Use TRG_EVENT_MAX, TRG_ACTION_MAX instead of magic values.
    Added get_trigger_info() method for obtaining trigger's meta-data.
    Added drop_all_triggers() method which drops all triggers for table.
    Added declarations of trg_action_time_type_names/trg_event_type_names
    arrays which hold names of triggers action time types  and event types.
sql/sql_yacc.yy:
  Changed grammar for CREATE/DROP TRIGGER to support database wide trigger
  namespace. Added new SHOW TRIGGERS statement.
sql/table.h:
  enum enum_schema_tables:
    Added constant for new INFORMATION_SCHEMA.TRIGGERS view.
2005-07-19 20:06:49 +04:00
unknown
6771f8d0aa Federated Storage Engine, bug 9925 "Federated query processor (step 2 or step 3) not using logic in
WHERE statement"


sql/ha_federated.cc:
  Changes per Jimw's review. 
  
  notes about some suggestions:
  
  1. Tried to replace my_sprintf with strxmov, but had problems. Couldn't 
     get the test suite to run at all, and could not find any particular
     error. Since this is something that is not critical, I'll leave it
     as is for now.
  2. I would like to use my_error to create all of my error messages, but 
     cannot figure out how to get it to take more than one argument to be
     passed to the error message (I tried this once but had errors, and 
     cannot find an example of how to get it to work despite seeing messages
     with obviously more than one arg
  3. Replaced all string building from literals to defined SQL string pieces
     such as "SELECT ", "FROM " ...
  4. Format fixes, spacing fixes completed
  5. Removed records_in_range records calculation functionality
sql/ha_federated.h:
  Formatting changes, new defines for SQL query string tokens
sql/share/errmsg.txt:
  changed 'SRC' to 'SOURCE' per Jimw's review
2005-07-17 04:10:19 +02:00
unknown
d887a6924e This is the same patch as 1.1937, with small variable declaration changes, memory
deallocation cleanup


mysql-test/r/federated.result:
  new test results
mysql-test/t/federated.test:
  New tests, and added explains per Timour's suggestion. This will keep
          track of whether changes have been made to the optimiser that might affect
          Federated.
          Also changed the error codes to federated error codes in the error tests
sql/ha_federated.cc:
  1. Not using MAX_REMOTE_SIZE, so removed
           2. Changed all defines that were IO_SIZE to FEDERATED_QUERY_BUFFER_SIZE
           3. Now using Federated Error Codes
           4. Implemented ::info (gets valid 'records' number)
           5. Implemented ::read_range_first - now uses indexes in range operations
           6. Better allocation in get_share
           7. Cleaned up memory bug in get_share
           8. Better initial query "SELECT * FROM t1 WHERE 1=0" for check_foreign_data_src
           9. emit_key_part_name and emit_key_part_element for read_range_first to not
              have redundancy
           10. Made sure all 'append's pass length, and use append("") to ensure proper
               null termination of strings being built.
           11. Better message creation. If ER_QUERY_ON_FOREIGN_DATA_SRC, I also pass
               the actual error code and message from the foreign data src.
           12. Cleaned up how the result set and share->scheme is freed.
sql/share/errmsg.txt:
  New Federated error messages that are more tailored to the type of information
  we want to see when federated has an error.
mysql-test/include/federated.inc:
  New bitkeeper file, include file for separating setup from main test suite
mysql-test/include/federated_cleanup.inc:
  New BitKeeper file ``mysql-test/include/federated_cleanup.inc''
sql/ha_federated.h:
  Added comments where needed, one was already commented about
2005-07-15 17:33:47 -07:00
unknown
9aa1504062 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/dlenev/src/mysql-5.0-mysqlproc


mysql-test/r/sp-error.result:
  Auto merged
mysql-test/t/sp-error.test:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sp.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/share/errmsg.txt:
  Manual merge.
sql/sp.cc:
  Manual merge.
2005-07-13 15:08:13 +04:00
unknown
11f9e513d7 Implementation of Monty's idea: Now we can open mysql.proc table for lookup
of stored routines definitions even if we already have some tables open and
locked. To avoid deadlocks in this case we have to put certain restrictions
on locking of mysql.proc table.

This allows to use stored routines safely under LOCK TABLES without explicitly
mentioning mysql.proc in the list of locked tables. It also fixes bug #11554
"Server crashes on statement indirectly using non-cached function".


mysql-test/r/sp-error.result:
  Added test which checks that now we can read stored routines definitions
  under LOCK TABLES even if we have not locked mysql.proc explicitly. Also
  added check for restrictions which this ability puts on mysql.proc locking.
  Updated test for bug #9566 to correspond this new situation.
mysql-test/r/sp-threads.result:
  Added test for bug #11554 "Server crashes on statement indirectly using
  non-cached function".
mysql-test/t/sp-error.test:
  Added test which checks that now we can read stored routines definitions
  under LOCK TABLES even if we have not locked mysql.proc explicitly. Also
  added check for restrictions which this ability puts on mysql.proc locking.
  Updated test for bug #9566 to correspond this new situation.
mysql-test/t/sp-threads.test:
  Added test for bug #11554 "Server crashes on statement indirectly using
  non-cached function".
sql/lock.cc:
  get_lock_data():
   To be able to open and lock for reading system tables like 'mysql.proc',
   when we already have some tables opened and locked, and avoid deadlocks
   we have to disallow write-locking of these tables with any other tables.
sql/mysql_priv.h:
  open_table() has new parameter which allows to open table even if some-one
  has done a flush or holding namelock on it.
sql/share/errmsg.txt:
  Added error message saying that one cannot write-lock some of system tables
  with any other tables.
sql/sp.cc:
  open_proc_table_for_read()/close_proc_table():
    Added functions to be able open and close mysql.proc table when we already
    have some tables open and locked.
  open_proc_table_for_update():
    Added function to simplify opening of mysql.proc for updates.
  db_find_routine_aux()/db_find_routine()/db_update_routine()/...
    Moved responsibility for opening mysql.proc table from db_find_routine_aux()
    one level up, since this level knows better which type of table access for
    reading of for update it needs.
  sp_function_exists():
    Removed unused function.
sql/sp.h:
  sp_function_exists():
    Removed unused function.
sql/sql_base.cc:
  open_table():
    Added new parameter which allows to open table even if some-one has done a
    flush or holding namelock on it.
  open_unireg_entry():
    Mark 'mysql.proc' as a system table which has special restrictions on its
    locking, but thanks to them can be open and locked even if we already have
    some open and locked.
sql/sql_class.cc:
  Moved THD members holding information about open and locked tables to separate
  Open_tables_state class to be able to save/restore this state easier.
  Added THD::push_open_tables_state()/pop_open_tables_state() methods for
  saving/restoring this state.
sql/sql_class.h:
  Moved THD members holding information about open and locked tables to separate
  Open_tables_state class to be able to save/restore this state easier.
  Added THD::push_open_tables_state()/pop_open_tables_state() methods for
  saving/restoring this state.
sql/sql_lex.cc:
  Removed LEX::proc_table member which was not really used.
sql/sql_lex.h:
  Removed LEX::proc_table member which was not really used.
sql/sql_table.cc:
  open_table() has new parameter which allows to open table even if some-one
  has done a flush or holding namelock on it.
sql/table.h:
  Added TABLE_SHARE::system_table indicating that this table is system table
  like 'mysql.proc' and we want to be able to open and read-lock it even when
  we already have some tables open and locked (and because of this we have
  to put some restrictions on write locking it).
2005-07-13 13:48:13 +04:00
unknown
077e335eb3 Fix for bug #8449(Silent column changes)
mysql-test/r/show_check.result:
  test result fixed
mysql-test/r/sql_mode.result:
  test result fixed
mysql-test/r/type_decimal.result:
  test result fixed
mysql-test/r/type_float.result:
  test result fixed
mysql-test/r/type_newdecimal.result:
  test result fixed
mysql-test/t/type_decimal.test:
  test fixed
mysql-test/t/type_float.test:
  test fixed
mysql-test/t/type_newdecimal.test:
  test case added
sql/share/errmsg.txt:
  error messages added
sql/sql_parse.cc:
  now precision/scale parameters are handled in required way
2005-07-07 21:47:18 +05:00
unknown
99cee82126 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/dlenev/src/mysql-5.0-bg11394


mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
mysql-test/r/sp-error.result:
  Manual merge.
mysql-test/t/sp-error.test:
  Manual merge.
sql/share/errmsg.txt:
  Manual merge.
2005-07-06 10:21:27 +04:00
unknown
0f64a49506 "Fix" for bug #11394 "Recursion in SP crash server" and bug #11600
"Stored procedures: crash with function calling itself".

Disallow recursive stored routines until we either make Item's and LEX
reentrant safe or will use spearate sp_head instances (and thus separate
LEX objects and Item trees) for each routine invocation.


mysql-test/r/sp-error.result:
  Added tests for bug #11394 "Recursion in SP crash server" and
  bug #11600 "Stored procedures: crash with function calling itself".
  (We simply disallow recursion for stored routines).
mysql-test/r/sp.result:
  Disabled test cases containing recursive stored routines until we will
  support for them.
mysql-test/t/sp-error.test:
  Added tests for bug #11394 "Recursion in SP crash server" and
  bug #11600 "Stored procedures: crash with function calling itself".
  (We simply disallow recursion for stored routines).
mysql-test/t/sp.test:
  Disabled test cases containing recursive stored routines until we will
  support for them.
sql/share/errmsg.txt:
  Added error message saying that recursive stored routines are disallowed.
sql/sp_head.cc:
  sp_head::execute():
    Since many Item's and LEX members can't be used in reentrant fashion
    we have to disable recursion for stored routines. So let us track
    routine invocations using sp_head::m_is_invoked member and raise
    error when one attempts to call routine recursively.
sql/sp_head.h:
  sp_head:
    Added m_is_invoked member for tracking of routine invocations and
    preventing recursion.
2005-07-01 13:01:46 +04:00
unknown
b4f595b95f Name resolution context added (BUG#6443)
include/my_bitmap.h:
  new bitmap operation
mysql-test/r/view.result:
  added warnings
  Correct inserting data check (absence of default value) for view underlying tables (BUG#6443)
mysql-test/t/view.test:
  Correct inserting data check (absence of default value) for view underlying tables (BUG#6443)
mysys/my_bitmap.c:
  new bitmap operation
sql/field.h:
  index of field in table added
sql/item.cc:
  Name resolution context added
  table list removed from fix_fields() arguments
sql/item.h:
  Name resolution context added
  table list removed from fix_fields() arguments
sql/item_cmpfunc.cc:
  table list removed from fix_fields() arguments
sql/item_cmpfunc.h:
  table list removed from fix_fields() arguments
sql/item_func.cc:
  table list removed from fix_fields() arguments
sql/item_func.h:
  table list removed from fix_fields() arguments
sql/item_row.cc:
  table list removed from fix_fields() arguments
sql/item_row.h:
  table list removed from fix_fields() arguments
sql/item_strfunc.cc:
  fixed server crash on NULL argument
sql/item_strfunc.h:
  table list removed from fix_fields() arguments
sql/item_subselect.cc:
  table list removed from fix_fields() arguments
sql/item_subselect.h:
  table list removed from fix_fields() arguments
sql/item_sum.cc:
  table list removed from fix_fields() arguments
sql/item_sum.h:
  table list removed from fix_fields() arguments
sql/item_timefunc.cc:
  table list removed from fix_fields() arguments
sql/item_timefunc.h:
  table list removed from fix_fields() arguments
sql/item_uniq.h:
  table list removed from fix_fields() arguments
sql/log_event.cc:
  Name resolution context added
sql/log_event.h:
  Name resolution context added
sql/mysql_priv.h:
  Name resolution context added
sql/set_var.cc:
  table list removed from fix_fields() arguments
sql/share/errmsg.txt:
  new error message
sql/sp.cc:
  Name resolution context added
sql/sp_head.cc:
  table list removed from fix_fields() arguments
sql/sp_head.h:
  Name resolution context added
sql/sql_base.cc:
  table list removed from fix_fields() arguments
  Name resolution context added
sql/sql_class.cc:
  renamed variable
sql/sql_delete.cc:
  Name resolution context added
sql/sql_derived.cc:
  Name resolution context added
sql/sql_do.cc:
  table list removed from fix_fields() arguments
sql/sql_handler.cc:
  Name resolution context added
sql/sql_help.cc:
  Name resolution context added
sql/sql_insert.cc:
  Name resolution context added
  table list removed from fix_fields() arguments
sql/sql_lex.cc:
  Name resolution context added
sql/sql_lex.h:
  removed resolve mode (information stored into name resolution context)
sql/sql_load.cc:
  table list removed from fix_fields() arguments
sql/sql_olap.cc:
  Name resolution context added
sql/sql_parse.cc:
  Name resolution context added
sql/sql_prepare.cc:
  table list removed from fix_fields() arguments
sql/sql_select.cc:
  table list removed from fix_fields() arguments
sql/sql_show.cc:
  Name resolution context added
sql/sql_trigger.cc:
  table list removed from fix_fields() arguments
sql/sql_udf.h:
  table list removed from fix_fields() arguments
sql/sql_union.cc:
  Name resolution context added
sql/sql_update.cc:
  Name resolution context added
sql/sql_view.cc:
  Name resolution context added
sql/sql_view.h:
  table list removed from fix_fields() arguments
sql/sql_yacc.yy:
  Name resolution context added
sql/table.cc:
  Name resolution context added
  merged view processing moved
sql/table.h:
  merged view processing moved
2005-07-01 07:05:42 +03:00
unknown
71f7df2766 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into neptunus.(none):/home/msvensson/mysql/bug10466


mysql-test/r/alias.result:
  Auto merged
mysql-test/r/func_str.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/group_by.result:
  Auto merged
mysql-test/r/innodb.result:
  Auto merged
mysql-test/r/ps.result:
  Auto merged
mysql-test/r/ps_2myisam.result:
  Auto merged
mysql-test/r/ps_3innodb.result:
  Auto merged
mysql-test/r/ps_4heap.result:
  Auto merged
mysql-test/r/ps_5merge.result:
  Auto merged
mysql-test/r/ps_6bdb.result:
  Auto merged
mysql-test/r/ps_7ndb.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/t/alias.test:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/group_by.test:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
mysql-test/t/select.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
2005-06-27 13:12:10 +02:00
unknown
5629af179a Change error message when the amount of stack needed is not available
to include how much stack space we need. (Bug #11213)


sql/share/errmsg.txt:
  Add new error message
sql/sql_parse.cc:
  Use new ER_STACK_OVERRUN_NEED_MORE, which includes information on
  how much room we need on the stack.
2005-06-22 11:02:44 -07:00
unknown
c8c0140eec Fix a formatting bug and add a test for it.
sql/share/errmsg.txt:
  Fix a formatting bug.
sql/sql_prepare.cc:
  Fix a formatting bug.
tests/mysql_client_test.c:
  Test the server side error message.
2005-06-20 15:38:15 +04:00
unknown
d2b52d1933 bug#10466: Datatype "timestamp" displays "YYYYMMDDHHMMSS" irrespective of display sizes.
- Print warning that says display width is not supported for datatype TIMESTAMP, if user tries to create a TIMESTAMP column with display width.
 - Use display width for TIMESTAMP only in type_timestamp test to make sure warning is displayed correctly.


mysql-test/include/ps_create.inc:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/alias.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/func_date_add.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/func_str.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/func_time.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/group_by.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/innodb.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_1general.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_2myisam.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_3innodb.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_4heap.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_5merge.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_6bdb.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/ps_7ndb.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/select.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/r/type_timestamp.result:
  When display width is used for a TIMESTAMP column a warning is printed that the display width will be ignored.
mysql-test/r/update.result:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/alias.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/func_date_add.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/func_str.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/func_time.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/group_by.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/innodb.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/ps.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/ps_4heap.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/ps_5merge.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/select.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
mysql-test/t/update.test:
  Reove all uses of display width in for TIMESTAMP columns, except in the type_timestamp test.
sql/share/errmsg.txt:
  Correct swedish error message
sql/sql_parse.cc:
  Print warning if datatype is TIMESTAMP and display width is used.
2005-06-20 12:09:00 +02:00
unknown
ac4421442a correcting error messages after discussion with Paul (replication of routines).
mysql-test/r/rpl_sp.result:
  result update
sql/share/errmsg.txt:
  correcting error messages after discussion with Paul.
2005-06-19 17:39:08 +02:00
unknown
49357ae8f0 Fix for bug #10015 "Crash in InnoDB if stored routines are used".
We should not allow explicit or implicit transaction commits inside
of stored functions or triggers (so in autocommit mode we should not
do commits after execution of sub-statement).
Also since we don't support nested statement transactions in 5.0,
we shouldn't commit or rollback stmt transactions while we are inside
stored functions or triggers. This should be fixed in later (>=5.1)
releases.


mysql-test/r/sp_trans.result:
  Added test for bug #10015 "Crash in InnoDB if stored routines are used"
  and for general transaction handling inside of functions.
mysql-test/t/sp_trans.test:
  Added test for bug #10015 "Crash in InnoDB if stored routines are used"
  and for general transaction handling inside of functions.
sql/handler.cc:
  ha_trans_commit()/ha_trans_rollback():
    Since we don't support nested statement transactions in 5.0,
    we can't commit or rollback stmt transactions while we are inside
    stored functions or triggers. So we simply do nothing now.
    This should be fixed in later ( >= 5.1) releases.
sql/item_func.cc:
  Item_func_sp::execute():
    Set THD::transaction.in_sub_stmt flag to TRUE during stored function
    execution to prevent commits and rollbacks for statement level
    transactions, since doing them will ruin such transaction for
    stateemtn which calls this function.
sql/share/errmsg.txt:
  Added error message which says that statements doing explicit or implicit
  commits are disallowed in triggers and stored functions.
sql/sql_base.cc:
  close_thread_tables():
    Clarified comment about committing of statement transactions in
    prelocked mode.
sql/sql_class.h:
  THD::transaction:
    Added in_sub_stmt method which indicates that we are executing
    statements from trigger or stored function now, and thus
    statement transaction belongs to statement which invoked this
    routine and we should not commit or rollback it while executing
    these sub-statements.
sql/sql_parse.cc:
  end_active_trans()/begin_trans()/end_trans():
    We should not commit or rollback global (non-stmt) transaction
    if we are executing stored function or trigger. These checks will
    catch situation when we are trying to do commit or rollback in stored
    procedure which is called from function or trigger.
sql/sql_trigger.h:
  Table_triggers_list::process_triggers():
    Set THD::transaction.in_sub_stmt flag to TRUE during trigger
    execution to prevent commits and rollbacks for statement level
    transactions, since doing them will ruin such transaction for
    stateemtn which invokes this trigger.
sql/sql_yacc.yy:
  Prohibited usage of statements which do explicit or implicit commit or
  rollback inside of stored functions and triggers.
2005-06-07 14:53:08 +04:00
unknown
752372f626 Fix wrong format specifier in error messages.
Not to be pushed into 5.0 as there it's fixed differently (in the new
format of error messages)


sql/share/danish/errmsg.txt:
  Fix wrong format specifier in an error message.
sql/share/serbian/errmsg.txt:
  Fix wrong format specifier in an error message.
2005-05-14 02:28:10 +04:00
unknown
2a8556f32d A fix and test case for Bug#9478 "mysql_stmt_attr_set mysql_stmt_execute"
(crash on attempt to re-execute a statement with an open cursor) + 
post-review fixes.


include/errmsg.h:
  Add a special error message when we attempt to mysql_stmt_fetch
  from a statement which has no result set.
libmysql/errmsg.c:
  Error message text for CR_NO_RESULT_SET
libmysql/libmysql.c:
  Move the code which frees result sets on client and closes the cursor
  on server, resets long data state on client and server.
  This makes one function out of two (mysql_stmt_reset and
  mysql_stmt_free_result), thus aggregating all related reset work
  in one place.
sql-common/client.c:
  Fix one place where we flushed the pending result set of a statement,
  but didn't set unbuffered_fetch_cancelled flag.
sql/share/errmsg.txt:
  Fix format of ER_UNKNOWN_STMT_HANDLER error message (needs to
  be fixed separately in 4.1). Add two new error messages 
  for the case when we fetch from when there is no cursor
  and for the case when we attempt to execute a statement while there is
  a cursor.
sql/sql_prepare.cc:
  Return error when we fetch while there is no open cursor and
  when we call execute while there is a pending cursor.
  Fix mysql_stmt_reset to close the open cursor if there is any.
sql/sql_select.cc:
  free_items and free_root moved to Cursor::close().
sql/sql_select.h:
  A comment added.
tests/mysql_client_test.c:
  A test case for Bug#9478, test the case of mysql_stmt_reset
  called for client-side cached result set and for the case with open cursor.
  All strcpy replaced with strmov (review request).
2005-05-12 11:16:12 +04:00
unknown
1a4fd96bd5 errmsg.txt:
Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).


sql/share/czech/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/danish/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/dutch/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/english/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/estonian/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/french/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/german/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/greek/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/hungarian/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/italian/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/japanese/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/japanese-sjis/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/korean/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/norwegian/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/norwegian-ny/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/polish/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/portuguese/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/romanian/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/russian/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/serbian/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/slovak/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/spanish/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/swedish/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
sql/share/ukrainian/errmsg.txt:
  Add newline at EOF for proper processing by comp-err.exe on Windows where fgets() works differently than Linux (Bug #6195).
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2005-05-08 19:14:28 +02:00
unknown
9c3a41f388 Merge mysql.com:/home/ram/work/mysql-4.1
into mysql.com:/home/ram/work/mysql-5.0


include/my_global.h:
  Auto merged
BitKeeper/etc/logging_ok:
  auto-union
sql/share/charsets/Index.xml:
  Auto merged
2005-05-06 20:11:01 +05:00
unknown
a67043dbd8 Bug#6611: wrong sorting order.
Adding cp1250_croatian_ci collation.
2005-05-06 20:11:00 +05:00
unknown
cdbf493997 Bug#6505 Wrong sorting order:
latin2_croatian_ci collation was fixed.
2005-05-06 18:41:41 +05:00
unknown
0baed276c3 Merge ibmlab.site:/home/my/bk/mysql-4.1
into ibmlab.site:/home/my/bk/mysql-5.0


BitKeeper/etc/logging_ok:
  auto-union
2005-05-06 13:42:30 +03:00
unknown
a0aa453934 bug#6504 Upper/Lower conversion bug:
upper/lower conversion for LATIN LETTER D WITH STROKE
was wrong in latin2.
2005-05-06 15:22:55 +05:00
unknown
fa3016a876 Added cp932 character set 2005-05-05 11:37:52 -07:00
unknown
af12ff6568 Approximative fixes for BUG#2610,2611,9100 i.e. WL#2146 binlogging/replication of routines (stored procs and functions).
Approximative, because it's using our binlogging way (what we call "query"-level) and this is not as good as record-level binlog (5.1) would be. It imposes several
  limitations to routines, and has caveats (which I'll document, and for which the server will try to issue errors but that is not always possible).
  Reason I don't propagate caller info to the binlog as planned is that on master and slave
  users may be different; even with that some caveats would remain.


mysql-test/mysql-test-run.sh:
  In the testsuite we know what we do, we are not creating nasty routines, and breaking binlog is ok except in rpl_sp.
mysql-test/r/blackhole.result:
  Updating results now that 4.1 has been merged
mysql-test/valgrind.supp:
      Some suppressions for Valgrind (useful on my machine Suse 9.1);
      this is just adding to the already existing suppressions of pthread and dl.
sql/item_func.cc:
      Don't binlog the substatements when executing a function. If the function
      is declared to modify data and does not complete, warning "broken binlog".
      Note that SELECT myfunc() will not be binlogged even if myfunc() updates data (will be documented);
      but INSERT INTO t VALUES(myfunc()) will be binlogged (what decides is if the caller
      gets binlogged; the function changes nothing to binlogging).
sql/log_event.cc:
      Just making functions which can be re-used when we binlog more strings
      in status_vars in Query_log_event (e.g. one day "user", "host").
sql/log_event.h:
  comment
sql/mysql_priv.h:
      --log-bin-trust-routine-creators
sql/mysqld.cc:
      --log-bin-trust-routine-creators
sql/set_var.cc:
      --log-bin-trust-routine-creators
sql/share/errmsg.txt:
  error messages to warn about problems with routines and binlog
sql/slave.cc:
      If in a routine, replication table inclusion/exclusion rules always answer "replicate!" (see comment in code).
sql/sp.cc:
      If binlog is on: errors if one wants to create a non-deterministic update routine
      (repeatability problem - note that the test is not perfect for functions) or does not have SUPER (because routines can easily
      be made to destroy slave's data with just CREATE ROUTINE and EXECUTE priv on master).
      --log-bin-trust-routine-creators removes these errors.
      Binlogging of CREATE PROCEDURE|FUNCTION.
sql/sql_acl.cc:
      No thd==0 in tables_ok().
sql/sql_parse.cc:
      Binlogging of CALL (and not of the substatements of the SP).
      If SP returns error, we don't binlog it (see comment); we push warning in this case.
      Binlogging of ALTER|DROP PROCEDURE|FUNCTION with safety messages.
2005-05-05 14:20:53 +02:00
unknown
1df25ccdac Fix for #6553 and #8776 (no errors on bad spatial data)
mysql-test/r/gis-rtree.result:
  test result fixed
mysql-test/r/gis.result:
  test result fixed
mysql-test/t/gis-rtree.test:
  test case fixed
mysql-test/t/gis.test:
  test case added
sql/field.cc:
  error messages launched now when we try to put bad spatial
  data in the GEOMETRY field
sql/field.h:
  interface fixed
sql/item_geofunc.cc:
  bad_data sign now instead of NULL now returned from
  Item_geometry_from_text::val_str
sql/share/errmsg.txt:
  error message added
sql/spatial.cc:
  bad_geometry data instance
sql/spatial.h:
  bad_geometry_data declaration
sql/sql_base.cc:
  messages now created in store_* function
2005-04-29 20:23:02 +05:00
unknown
5c44e1acfe Post-review fixes of the patch for BUG#8408: Stored procedure crash if function contains SHOW
(Review on irc by monty)


mysql-test/r/sp-error.result:
  Renamed a procedure and function to avoid confusion
mysql-test/t/sp-error.test:
  Renamed a procedure and function to avoid confusion
sql/item_func.cc:
  Corrected (and better) way to set/reset the client cap. flag in Item_func_sp::execute()
sql/share/errmsg.txt:
  Changed the ER_SP_BADSELECT error; more accurate, and includes the procedure name.
sql/sql_parse.cc:
  Include the procedure name in the new error message.
2005-04-27 16:35:49 +02:00
unknown
ede5261679 Fixed BUG#8408: Stored procedure crash if function contains SHOW
We simply have to disallow any kind of result set being sent back
  from a function. Can't see any way to make that to work.


mysql-test/r/sp-error.result:
  New test case for BUG#8408.
mysql-test/t/sp-error.test:
  New test case for BUG#8408.
sql/item_func.cc:
  Disable result sets from functions but temporarily turning CLIENT_MULTI_RESULTS off.
sql/share/errmsg.txt:
  Added error message for statements not allowed in functions (detected during parsing).
sql/sql_yacc.yy:
  Don't allow result sets in functions.
2005-04-26 17:31:59 +02:00
unknown
cf09e60632 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


sql/mysqld.cc:
  Auto merged
2005-04-26 16:03:20 +03:00
unknown
53eb1b5b57 - manual merge
sql/share/Makefile.am:
  Auto merged
tools/Makefile.am:
  Auto merged
2005-04-21 08:30:59 +02:00