Commit graph

12440 commits

Author SHA1 Message Date
unknown
d78dc15b20 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/12922-bug-5.0-mysql
2005-09-07 23:33:32 +04:00
unknown
d319c8ffbd item.cc:
Fix for fix bug#12922.


sql/item.cc:
  Fix for fix bug#12922.
2005-09-07 23:32:39 +04:00
unknown
eb061b654f Fix for Bug#12995: Inside function "Table 't4' was not locked with LOCK TABLES"
Any form of HANDLER statement is forbidden from usage in stored procedures/functions.


mysql-test/r/sp-error.result:
  Results for the test case for Bug#12995 added.
mysql-test/t/sp-error.test:
  Test case for Bug#12995 added.
sql/sql_yacc.yy:
  Forbid any form of "HANDLER" statement from use in stored procedures/functions.
2005-09-07 23:03:56 +04:00
unknown
dfc328e104 Manual merge 2005-09-07 22:55:49 +04:00
unknown
792221e365 Fix bug #12922 if(sum(),...) with group from view returns wrong results
Fields of view represented by Item_direct_view_ref. When complex expression
such as if(sum()>...,...) is splited in simpler parts by refs was ignored.
Beside this direct ref doesn't use it's result_field and thus can't store
it's result in tmp table which is needed for sum() ... group.
All this results in reported bug.

Item::split_sum_func2() now converts Item_direct_view_ref to Item_ref to
make fields from view being storable in tmp table.


sql/item.h:
  Fix bug #12922 if(sum(),...) with group from view returns wrong results
  Added function ref_type() to distinguish Item_ref subclasses
sql/item.cc:
  Fix bug #12922 if(sum(),...) with group from view returns wrong results
   Item::split_sum_func2() now converts Item_direct_view_ref to Item_ref to make fields from view being storable in tmp table.
mysql-test/t/view.test:
  Test case for bug#12922 if(sum(),...) with group from view returns wrong results
mysql-test/r/view.result:
  Test case for bug#12922 if(sum(),...) with group from view returns wrong results
2005-09-07 22:38:36 +04:00
unknown
7c69d4a311 Merge zim.(none):/home/brian/mysql/mysql-4.1
into  zim.(none):/home/brian/mysql/mysql-5.0


sql/examples/ha_tina.cc:
  Auto merged
2005-09-07 10:43:22 -07:00
unknown
1ac26b4a6c Small tweak for random read performance (we shouldn't always tell the OS that we will be doing a linear scan).
sql/examples/ha_tina.cc:
  Small tweak for random read performance.
2005-09-07 10:30:06 -07:00
unknown
e8ba23fd0d Merge mysql.com:/usr/home/bar/mysql-4.1.b12611
into  mysql.com:/usr/home/bar/mysql-5.0


mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/r/func_like.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
2005-09-07 16:32:15 +05:00
unknown
4fdf0ce380 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b12611
2005-09-07 16:29:53 +05:00
unknown
d9732be25a Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/bar/mysql-5.0
2005-09-07 16:13:57 +05:00
unknown
48c3c329b3 Fix for bug#12905 show fields from view behaving erratically with current database
use saved view db name in case of view
2005-09-07 16:11:53 +05:00
unknown
a777907a51 Fix for bug#11775 Variable character_set_system does not exist (sometimes).
Variable character_set_system is selectable now
  More accurate error message results during 
  update of character_set_system and some other read only variables


mysql-test/r/variables.result:
  Fix for bug#11775 Variable character_set_system does not exist (sometimes).
    test case
mysql-test/t/variables.test:
  Fix for bug#11775 Variable character_set_system does not exist (sometimes).
    test case
2005-09-07 15:38:09 +05:00
unknown
b2c770799c Merge mysql.com:/usr/home/bar/mysql-4.1.b12829
into  mysql.com:/usr/home/bar/mysql-5.0


mysql-test/r/func_gconcat.result:
  Auto merged
mysql-test/t/func_gconcat.test:
  Auto merged
sql/item_sum.cc:
  Auto merged
2005-09-07 14:57:27 +05:00
unknown
027476e542 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-bug12941
2005-09-07 12:13:12 +04:00
unknown
44e289b451 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b12829


mysql-test/r/func_gconcat.result:
  Auto merged
mysql-test/t/func_gconcat.test:
  Auto merged
sql/item_sum.cc:
  Auto merged
2005-09-07 13:12:29 +05:00
unknown
3003e5a0eb Fix for BUG#12941: in create_tmp_field(), if the passed item is an Item_ref, put newly
created item into item->result_field, not *(item->ref)->result_field.


mysql-test/r/view.result:
  Tescase for BUG#12941
mysql-test/t/view.test:
  Tescase for BUG#12941
2005-09-07 11:50:41 +04:00
unknown
2629afe4f8 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-mrg-5.0
2005-09-07 00:19:59 +03:00
unknown
291d59d4bf Merge eherman@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/Users/eric/bktmp/mysql-4.1


sql/sql_parse.cc:
  Auto merged
2005-09-06 11:38:52 -07:00
unknown
774a4c4d8f Merge sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
into  sanja.is.com.ua:/home/bell/mysql/bk/work-mrg-5.0


sql/mysqld.cc:
  Auto merged
2005-09-06 21:20:19 +03:00
unknown
981e5226bb postmerge fix 2005-09-06 21:18:44 +03:00
unknown
3fd4a64711 Merge eherman@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/Users/eric/bktmp/mysql-5.0
2005-09-06 11:04:36 -07:00
unknown
5618d0217e Merge sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
into  sanja.is.com.ua:/home/bell/mysql/bk/work-mrg-5.0


configure.in:
  Auto merged
mysql-test/r/func_math.result:
  Auto merged
mysql-test/r/ps.result:
  Auto merged
mysql-test/t/func_math.test:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_cache.h:
  Auto merged
2005-09-06 20:51:15 +03:00
unknown
b89205880f Fix for Bug#12953 "Stored procedures: crash if OPTIMIZE TABLE in function"
OPTIMIZE TABLE statement is forbidden from usage in stored procedures/functions.

NOTE: OPTIMIZE TABLE statement can be useful in stored procedures. The idea is
that the user/administrator can create a stored procedure for admin
tasks (optimizing, backing up, etc). This procedure can be scheduled to run
automatically (by mean of internal cron (WL#1034)). So, once we can make this
statement work, it is worth doing it.


mysql-test/r/sp-error.result:
  Results for the test case for Bug#12953 added.
mysql-test/t/sp-error.test:
  Test case for Bug#12953 "Stored procedures: crash if OPTIMIZE TABLE in function" added.
sql/sql_yacc.yy:
  Forbid "OPTIMIZE TABLE" statement from use in stored procedures/functions.
2005-09-06 21:43:06 +04:00
unknown
9d14671fc9 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into  sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
2005-09-06 17:01:23 +03:00
unknown
61a5fac1cc Bug #6172 RAND(a) should only accept constant values as arguments(2nd version)
Argument of RAND function can be constant value only
2005-09-06 16:19:59 +05:00
unknown
965afd45a1 func_like.result, func_like.test:
adding test case.
item_cmpfunc.cc:
  Bug#12611
  ESCAPE + LIKE do not work when the escape char is a multibyte one
  Additional fix for 8bit character sets:
  escape character must be converted into
  operation character set.


sql/item_cmpfunc.cc:
  Bug#12611
  ESCAPE + LIKE do not work when the escape char is a multibyte one
  Additional fix for 8bit character sets:
  escape character must be converted into
  operation character set.
mysql-test/t/func_like.test:
  adding test case.
mysql-test/r/func_like.result:
  adding test case.
2005-09-06 16:16:10 +05:00
unknown
94c98b516a mysqld.cc:
after merge fix


sql/mysqld.cc:
  after merge fix
2005-09-06 15:23:03 +05:00
unknown
e254105bec item_cmpfunc.h:
Bug 12611 : ESCAPE + LIKE do not work when the escape char is a multibyte one
  Forgot to commit this file in the previous changeset,
  together with other files.


sql/item_cmpfunc.h:
  Bug 12611 : ESCAPE + LIKE do not work when the escape char is a multibyte one
  Forgot to commit this file in the previous changeset,
  together with other files.
2005-09-06 14:48:18 +05:00
unknown
b0a7f602be Merge mysql.com:/usr/home/bar/mysql-4.1.b9948
into  mysql.com:/usr/home/bar/mysql-5.0


sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/mysqld.cc:
  after merge fix
2005-09-06 14:35:36 +05:00
unknown
f687e6dac0 Merge sanja.is.com.ua:/home/bell/mysql/bk/work-4.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-4.1


sql/mysql_priv.h:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_cache.h:
  Auto merged
configure.in:
  merge
mysql-test/r/fulltext_var.result:
  merge
sql/mysqld.cc:
  merge
sql/set_var.cc:
  merge
2005-09-06 12:18:23 +03:00
unknown
f5f896b4b9 support of concurent query cache resizing (BUG#12848)
sql/mysql_priv.h:
  initialisation moved to mysqld.cc
sql/mysqld.cc:
  initialisation moved to mysqld.cc
sql/sql_cache.cc:
  support of concurent query cache resizing:
        - resizing made atomic
        - check stack size after each quard mutex lock
sql/sql_cache.h:
  initialisation moved to mysqld.cc
  removed uneed parameter (now it is always under guard mutex protection or called from destruction)
2005-09-06 11:16:53 +03:00
unknown
9bd0261897 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b9948


sql/mysqld.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-09-05 20:05:32 +05:00
unknown
50c44c9b52 mysqld.cc, mysql_priv.h, sql_parse.cc:
bug#9948
  changed client-charset behavior in 4.1.x libmysql, which issue BC prob
  after review fixes


sql/mysql_priv.h:
  bug#9948
  changed client-charset behavior in 4.1.x libmysql, which issue BC prob
  after review fixes
sql/mysqld.cc:
  bug#9948
  changed client-charset behavior in 4.1.x libmysql, which issue BC prob
  after review fixes
2005-09-05 20:00:11 +05:00
unknown
c02509b17b row0mysql.c, ha_innodb.cc:
Fix bug #12308 : do not roll back the whhole transaction in a lock wait timeout error, just roll back the latest SQL statement; note that the locks set in the latest SQL statements remain, as InnoDB does not know what locks were set in which SQL statement


sql/ha_innodb.cc:
  Fix bug #12308 : do not roll back the whhole transaction in a lock wait timeout error, just roll back the latest SQL statement; note that the locks set in the latest SQL statements remain, as InnoDB does not know what locks were set in which SQL statement
innobase/row/row0mysql.c:
  Fix bug #12308 : do not roll back the whhole transaction in a lock wait timeout error, just roll back the latest SQL statement; note that the locks set in the latest SQL statements remain, as InnoDB does not know what locks were set in which SQL statement
2005-09-05 01:13:44 +03:00
unknown
7425899f53 This patch disables the query cache for the federated engine.
sql/ha_federated.h:
  Fix cache issues
2005-09-04 11:25:13 -07:00
unknown
d6b70bf4ae ha_innodb.cc:
Better comments about auto-inc and SHOW TABLE STATUS


sql/ha_innodb.cc:
  Better comments about auto-inc and SHOW TABLE STATUS
2005-09-04 13:00:03 +03:00
unknown
53379f982d ha_innodb.cc:
Fix bug #12973 : set the table handle field auto_increment_value if ::info() is called with the flag HA_STATUS_AUTO


sql/ha_innodb.cc:
  Fix bug #12973 : set the table handle field auto_increment_value if ::info() is called with the flag HA_STATUS_AUTO
2005-09-04 12:04:21 +03:00
unknown
8c2960bf91 Merge eherman@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/Users/eric/bktmp/mysql-5.0
2005-09-02 17:14:23 -07:00
unknown
a59a444108 Backport of JimW's localhost patch to 4.1 tree.
Handle systems like default FC4 where 127.0.0.1 doesn't always map to 'localhost' first. 
(Bug #11822)


sql/hostname.cc:
  Short-circuit ip_to_hostname() lookup for INADDR_LOOPBACK to allways return 'localhost'.
sql/sql_parse.cc:
  Push special handling of 127.0.0.1 into ip_to_hostname().
2005-09-02 17:07:05 -07:00
unknown
17994730c1 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kostja/mysql/mysql-5.0-dsql3


sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/share/errmsg.txt:
  manual merge
2005-09-03 03:25:59 +04:00
unknown
c910050a76 Implement WL#2661 "Prepared Statements: Dynamic SQL in Stored Procedures".
The idea of the patch is to separate statement processing logic,
such as parsing, validation of the parsed tree, execution and cleanup, 
from global query processing logic, such as logging, resetting
priorities of a thread, resetting stored procedure cache, resetting
thread count of errors and warnings.
This makes PREPARE and EXECUTE behave similarly to the rest of SQL
statements and allows their use in stored procedures.
This patch contains a change in behaviour:
until recently for each SQL prepared statement command, 2 queries
were written to the general log, e.g.
[Query]   prepare stmt from @stmt_text;
[Prepare] select * from t1 <-- contents of @stmt_text
The chagne was necessary to prevent [Prepare] commands from being written
to the general log when executing a stored procedure with Dynamic SQL.
We should consider whether the old behavior is preferrable and probably
restore it.
This patch refixes Bug#7115, Bug#10975 (partially), Bug#10605 (various bugs
in Dynamic SQL reported before it was disabled).


mysql-test/r/not_embedded_server.result:
  Since we don't want to log Dynamic SQL in stored procedures,
  now the general log gets only one log entry per SQL statement.
mysql-test/r/sp-error.result:
  - remove obsolete tests
  - a better error message for the case when a stored procedure that
  returns a result set is called from a function
mysql-test/r/trigger.result:
  - a better error message for the case when a stored procedure that
  returns a result set is called from a trigger
mysql-test/t/sp-error.test:
  - a better error message for the case when a stored procedure that
    returns a result set is called from a function.
  - move the comment to its place (end of file).
mysql-test/t/trigger.test:
  - a better error message for the case when a stored procedure that
  returns a result set is called from a trigger
sql/item_func.cc:
  - we need to pass sql_command explicitly to get_var_with_binlog, because
  when creating a query for SQL prepared statement thd->lex->sql_command
  points at SQLCOM_EXECUTE, which is not listed in the list of update
  queries.
sql/log_event.h:
  - remove an extra copy of the previous sentence
sql/mysql_priv.h:
  - fix declarations of sql_prepare.cc API
sql/share/errmsg.txt:
  - a new error message, when one attempts to execute a prepared statement
  which is currently being executed (this can happen only in Dynamic SQL
  at the moment).
sql/sp_head.cc:
  - extend sp_multi_results_command to return different flags for a
  command (and rename it)
  - add support for SQLCOM_PREPARE,SQLCOM_EXECUTE, SQLCOM_DEALLOCATE
    to sp_get_flags_for_command
  - replace multiple boolean sp_head members with uint m_flags
  - a fix for a crash when user variables are used in a stored procedure
    and binlog is on. A temporary fix for Bug#12637 "SP crashes the server 
   if it has update query with user var & binlog is enabled", which actually
   stands for stored functions: now instead of a crash we break
   replication if a user variable is used in a stored function which 
   is executed in prelocked mode.
sql/sp_head.h:
  - replace multiple boolean flags of sp_head with uint m_flags;
  - add flag CONTAINS_DYNAMIC_SQL
  - use this flag to error if a stored procedure with Dynamic SQL is
    called from a function or trigger.
sql/sql_class.cc:
  - Statement_map::insert should not delete a statement if it exists,
    now it's done externally to be able to handle the case when the
    statement being deleted is in use.
  - remove extra code (free_list is already reset in free_items)
sql/sql_lex.cc:
  - add lex->stmt_prepare_mode; we can't rely on thd->command any more,
    because we don't reset it any more (Dynamic SQL requirement is that
    PS are as little intrusive as possible).
sql/sql_lex.h:
  - declare bool LEX::stmt_prepare_mode
sql/sql_parse.cc:
  - move prepared statement code to sql_prepare.cc
  - change declarations (refactored code)
  - better error message when one attempts to use Dynamic SQL or a 
    stored procedure that returns a result set in a function or trigger.
sql/sql_prepare.cc:
  - major refactoring to ensure PREPARE/EXECUTE commands do not reset global THD
    state and allow their use in stored procedures.
  - add Prepared_statement::flags and use it to ensure no recursive execution
    of a prepared statement is possible
  - better comments
sql/sql_yacc.yy:
  - enable PREPARE/EXECUTE/DEALLOCATE in stored procedures
  - produce an error message on attempt to use PREPARE/EXECUTE/DEALLOCATE
    in a stored function or trigger
mysql-test/r/sp-dynamic.result:
  - sp-dynamic.test results
mysql-test/t/sp-dynamic.test:
  - a new test for PREPARE/EXECUTE/DEALLOCATE in stored procedures.
2005-09-03 03:13:18 +04:00
unknown
79ae20bc3a Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into  mysql.com:/home/jimw/my/mysql-5.0-clean


mysql-test/t/variables.test:
  Auto merged
sql/set_var.cc:
  Auto merged
mysql-test/r/variables.result:
  Resolve conflict
scripts/mysqld_multi.sh:
  Resolve conflict
2005-09-02 12:42:00 -07:00
unknown
6189933e78 delete row now pulls error message from remote server.
Added test cases with archive (where delete & update will always fail)
http://bugs.mysql.com/bug.php?id=12659


sql/ha_federated.cc:
  populate the error buffer with error message from remote system
2005-09-02 11:40:21 -07:00
unknown
196862dfd9 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug3-5.0


sql/item.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/table.cc:
  Auto merged
2005-09-02 17:06:15 +03:00
unknown
dc92221300 Rename:
- current_arena to stmt_arena: the thread may have more than one
'current' arenas: one for runtime data, and one for the parsed 
tree of a statement. Only one of them is active at any moment.
- set_item_arena -> set_query_arena, because Item_arena was renamed to 
Query_arena a while ago
- set_n_backup_item_arena -> set_n_backup_active_arena;
the active arena is the arena thd->mem_root and thd->free_list
are currently pointing at.
- restore_backup_item_arena -> restore_active_arena (with the same
rationale)
- change_arena_if_needed -> activate_stmt_arena_if_needed; this
method sets thd->stmt_arena active if it's not done yet.


sql/item.cc:
  Rename.
sql/item_cmpfunc.cc:
  Rename.
sql/item_func.cc:
  Rename.
sql/item_subselect.cc:
  Rename.
sql/item_subselect.h:
  Remove an unused forward declaration.
sql/item_sum.h:
  Remove an unused forward declaration.
sql/mysql_priv.h:
  Remove an unused forward declaration.
sql/sp.cc:
  Rename.
sql/sp_head.cc:
  Rename.
sql/sql_base.cc:
  Rename.
sql/sql_class.cc:
  Rename.
sql/sql_class.h:
  Rename.
sql/sql_lex.cc:
  Rename.
sql/sql_parse.cc:
  Rename.
sql/sql_prepare.cc:
  Rename.
sql/sql_select.cc:
  Rename.
sql/sql_show.cc:
  Rename.
sql/sql_union.cc:
  Rename.
sql/sql_view.cc:
  Rename.
sql/table.cc:
  Rename.
2005-09-02 17:21:19 +04:00
unknown
29a37a30e3 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug3-5.0


sql/sql_parse.cc:
  Auto merged
2005-09-02 15:56:14 +03:00
unknown
a03acb3cb5 Merge mysql.com:/users/lthalmann/bk/mysql-4.1
into  mysql.com:/users/lthalmann/bk/mysql-5.0


mysql-test/t/rpl_replicate_do.test:
  Auto merged
scripts/Makefile.am:
  Auto merged
Makefile.am:
  Manual merge
mysql-test/r/rpl_replicate_do.result:
  Manual merge
sql/log_event.cc:
  Manual merge
sql/sql_parse.cc:
  Manual merge
2005-09-02 11:01:00 +02:00
unknown
c99b50f1dd Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b12363
2005-09-02 12:01:19 +05:00
unknown
92367e8bbc Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug3-5.0


sql/sql_parse.cc:
  Auto merged
2005-09-02 09:51:32 +03:00
unknown
7e2024b4f4 postmerge changes
mysql-test/t/lowercase_view.test:
  error code changed after merege
mysql-test/t/view.test:
  error code changed after merege
sql/item.cc:
  inline function used instead of frequently used expression
  removed old TODO
sql/sql_base.cc:
  layoutfixed
  inline function used instead of frequently used expression
sql/sql_insert.cc:
  inline function used instead of frequently used expression
2005-09-02 09:50:17 +03:00