1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00
Commit Graph

6471 Commits

Author SHA1 Message Date
unknown
f2116615be added synchronization in mysql_create_like_table
(
fixed BUG #2385 CREATE TABLE LIKE lacks locking on source and destination table
and added tests for it
)


sql/mysql_priv.h:
  added code TEST_SYNCHRONIZATION for --exit-info option
sql/mysqld.cc:
  fixed -debug prefix
sql/sql_table.cc:
  added synchronization in mysql_create_like_table
  (fixed BUG #2385 CREATE TABLE LIKE lacks locking on source and destination table)
2004-04-01 23:13:25 +05:00
unknown
9be599fc3d fixed
BUG #2397 "RENAME TABLES is not blocked by FLUSH TABLES WITH READ LOCK"
(added waiting for global_read_lock in mysql_rename_tables)


mysql-test/r/rename.result:
  added test for 
  BUG #2397 "RENAME TABLES is not blocked by FLUSH TABLES WITH READ LOCK"
mysql-test/t/rename.test:
  added test for 
  BUG #2397 "RENAME TABLES is not blocked by FLUSH TABLES WITH READ LOCK"
sql/sql_rename.cc:
  fixed 
  BUG #2397 "RENAME TABLES is not blocked by FLUSH TABLES WITH READ LOCK"
  (added waiting for global_read_lock)
2004-04-01 22:47:09 +05:00
unknown
025ddfea28 InnoDB cleanup: fixing buffer overflows and quoting of quotes
innobase/dict/dict0crea.c:
  Remove unneeded prototypes for static functions
  Remove unused parameters from some functions
  Replace some assertions with compile-time checks
  dict_create_add_foreigns_to_dictionary():
  allocate space dynamically for the SQL, and quote quotes
innobase/dict/dict0dict.c:
  Remove unnecessary prototypes for static functions
  dict_tables_have_same_db(): Remove length limitation
  dict_remove_db_name(): Use strchr()
  dict_get_db_name_len(): Use strchr()
  Replace mem_heap_alloc()+strlen()+memcpy() with mem_heap_strdup()
  Remove unnecessary strlen() calls
  Allocate space dynamically for generated strings
  dict_scan_id(): allow quotes within quoted strings
innobase/dict/dict0load.c:
  Remove unnecessary strlen() calls
  Replace mem_heap_alloc()+strlen()+memcpy() with mem_heap_strdup()
innobase/dict/dict0mem.c:
  Replace mem_heap_alloc()+strlen()+memcpy() with mem_heap_strdup()
innobase/eval/eval0eval.c:
  Make TO_CHAR() work with any machine word width
innobase/fil/fil0fil.c:
  Replace mem_alloc()+strlen()+strcpy() with mem_strdup()
innobase/ibuf/ibuf0ibuf.c:
  Make some global variables static
  Add #ifdef UNIV_IBUF_DEBUG around debug statements
innobase/include/data0data.h:
  Add #ifdef UNIV_DEBUG around dtuple_validate()
innobase/include/data0data.ic:
  Replace = with == in ut_ad(tuple->magic_n == DATA_TUPLE_MAGIC_N)
innobase/include/dict0dict.h:
  Add const qualifiers
innobase/include/lock0lock.h:
  Add UL suffixes to unsigned long masks
innobase/include/log0log.h:
  Remove unused parameter "type" of log_group_write_buf()
innobase/include/mem0mem.h:
  Add mem_strdup(), mem_strdupl(), mem_strdupq(), mem_heap_strdup(),
  and mem_heap_strdupl()
innobase/include/mem0mem.ic:
  Add mem_strdup(), mem_strdupl(), mem_strdupq(), mem_heap_strdup(),
  and mem_heap_strdupl()
innobase/include/row0uins.h:
  Remove unused parameter "thr" of row_undo_ins()
innobase/include/row0undo.h:
  Remvoe unused parameter "thr" of row_undo_search_clust_to_pcur()
innobase/include/ut0byte.h:
  Add const qualifier to ut_cpy_in_lower_case()
  Remove parameter "len" of ut_cmp_in_lower_case()
innobase/include/ut0mem.h:
  Add ut_strlenq(), ut_strcpyq() and ut_memcpyq()
innobase/include/ut0mem.ic:
  Add ut_strlenq()
innobase/include/ut0ut.h:
  Declare ut_sprintf() as a printf-style function
innobase/lock/lock0lock.c:
  lock_clust_rec_modify_check_and_lock(): Remove unused variable "trx"
innobase/log/log0log.c:
  Remove unused parameters
innobase/log/log0recv.c:
  Remove parameter "type" from log_group_write_buf()
innobase/mem/mem0mem.c:
  Simplify the initialization of block->init_block
innobase/mtr/mtr0log.c:
  Add a debug assertion to mlog_parse_initial_log_record()
innobase/page/page0cur.c:
  Add debug assertion to page_cur_insert_rec_write_log()
  Remove hard-coded buffer size in page_cur_parse_insert_rec()
innobase/page/page0page.c:
  Remove unneeded variable rec
innobase/pars/pars0opt.c:
  Correct a potential buffer overflow
innobase/pars/pars0pars.c:
  Replace mem_heap_alloc()+strlen()+memcpy() with mem_heap_strdup()
innobase/row/row0ins.c:
  Replace parameter "thr" with "trx" in row_ins_foreign_report_add_err()
  Remove unnecessary strlen() call
  Use strchr()
innobase/row/row0mysql.c:
  Add row_mysql_is_recovered_tmp_table()
  Add row_mysql_is_system_table()
  Compare reserved table names with exact match
  Use strstr() and strchr() and mem_strdupl()
  Compute space needed for generated SQL, and allocate it dynamically
innobase/row/row0purge.c:
  Remove unused parameters "thr"
innobase/row/row0row.c:
  Simplify row_get_clust_rec()
innobase/row/row0uins.c:
  Remove unused parameters "thr"
innobase/row/row0umod.c:
  Remove unused variable "index"
  row_undo_mod_del_unmark_sec_and_undo_update():
   Remove parameter "node" and variable "rec"
  Remove unused parameters "thr"
innobase/row/row0undo.c:
  Remove unused parameters "thr"
innobase/srv/srv0srv.c:
  Replace UT_NOT_USED() with __attribute__((unused))
innobase/srv/srv0start.c:
  Remove unnecessary strlen() calls
  Remove unused parameter "create_new_db" of open_or_create_log_file()
innobase/trx/trx0roll.c:
  Replace mem_alloc()+strlen()+memcpy() with mem_strdup()
innobase/trx/trx0sys.c:
  Remove unnecessary strlen() call
innobase/ut/ut0byte.c:
  Add const qualifier to ut_cpy_in_lower_case()
  Remove parameter "len" of ut_cmp_in_lower_case()
innobase/ut/ut0mem.c:
  Add ut_strlenq() and ut_memcpyq()
sql/ha_innodb.cc:
  Remove parameter "len" of ut_cmp_in_lower_case()
2004-04-01 16:51:34 +03:00
unknown
bf3f491e6d First commit of the skeleton storage engine. Use this example as a template to build storage engines. Also includes a new degine for marking storage engine methods as not being implemented.
sql/examples/ha_example.h:
  First commit of example storage engine.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-04-01 01:02:42 -08:00
unknown
54a8eb623a fix for table/field caching mechanism
save moving ON/USING tables conditions to WHERE clause (BUG#2794)


sql/sql_base.cc:
  fix for table/field caching mechanism (global lock of it and right table passed as parameter)
  save moving ON/USING tables conditions to WHERE clause (BUG#2794)
sql/sql_class.cc:
  lock for using field/table cache in Item name resolution
sql/sql_class.h:
  lock for using field/table cache in Item name resolution
sql/sql_insert.cc:
  lock for using field/table cache in Item name resolution
tests/client_test.c:
  Test of PS queries with ON condition
2004-04-01 03:00:38 +03:00
unknown
dead63012a More after-merge fixes for patch fixing bug #2050 2004-04-01 00:19:30 +04:00
unknown
e6d7661547 Merge of fix for bug #2050 and bug #3307
BitKeeper/etc/logging_ok:
  auto-union
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Manual merge
2004-03-31 22:17:10 +04:00
unknown
d2906f0ed0 Fix for Bug #3307 "FLUSH TABLES sometimes breaks prepared statement
table resolution".
Added members to Item_ident for storing original db, table and field
names since those that set later from Field have shorter life-time 
than required by prep. stmt. So we need to restore original names in 
Item_ident::cleanup(). Also now using special construnctor for creation
of Item_field from Field object that ensures that table and field name 
have big enough life-time.

"Fix" for bug #2050 "10 to 1 performance drop with server 4.1.1"
Clean ups in implementation of caching of field number in table.
Added caching of table in which field is found in find_field_in_tables(). 


sql/item.cc:
  Added members to Item_ident for storing original db, table and field
  names since those that set later from Field have shorter life-time 
  than required by prep. stmt. So we need to restore original names in 
  Item_ident::cleanup().
  Added Item_ident::cached_table for caching table there we found 
  our field.
  Added special constructor for creation of Item_field from Field object
  that ensures that table and field name have big enough life-time.
sql/item.h:
  Added members to Item_ident for storing original db, table and field
  names since those that set later from Field have shorter life-time 
  than required by prep. stmt. So we need to restore original names in 
  Item_ident::cleanup().
  Changed type of Item_ident::cached_field_index from int to uint
  (and so NO_CACHED_FIELD_INDEX is UINT_MAX now) because we want to
  save one comparison in find_field_in_table().
  Added Item_ident::cached_table for caching table there we found 
  our field.
  Added special constructor for creation of Item_field from Field object
  that ensures that table and field name have big enough life-time.
sql/mysql_priv.h:
  Changed type of cached_field_index_ptr from int* to uint*
  (and so NO_CACHED_FIELD_INDEX is UINT_MAX now) because we want to
  save one comparison in find_field_in_table().
sql/sql_acl.cc:
  Changed type of find_field_in_table() paremeter to make it 
  faster.
sql/sql_base.cc:
  find_field_in_table(): small optimization and soime clean ups in 
   caching of field index.
  find_field_in_tables(): added aggresive caching of table in which
   field is found in Item_ident::cached_table.
  insert_fields():
   using special construnctor for creation of Item_field from Field 
   object that ensures that table and field name have big enough life-time.
2004-03-31 21:25:55 +04:00
unknown
0dd6f77d47 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.1
into gluh.mysql.r18.ru:/home/gluh/Bugs/mysql-4.1
2004-03-31 14:30:53 +05:00
unknown
48014f2288 Fix for bug #2160: Extra error message for CREATE TABLE LIKE with InnoDB 2004-03-31 14:29:01 +05:00
unknown
9c2e4b0360 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-qc-4.1
2004-03-31 08:24:12 +03:00
unknown
0005e266a2 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-03-31 03:32:57 +03:00
unknown
93c70c0772 simple optimzation
Portability fixes


client/mysqltest.c:
  Fixed that if error number 0 is included in --error, we will not generate an error message
include/mysql.h:
  Portability fix
mysql-test/mysql-test-run.sh:
  Portability fix
mysql-test/r/heap_btree.result:
  Portability fix
mysql-test/r/rpl_error_ignored_table.result:
  Portability fix
mysql-test/t/heap_btree.test:
  Portability fix
mysql-test/t/rpl_error_ignored_table.test:
  Portability fix
sql/sql_base.cc:
  simple optimzation
sql/sql_yacc.yy:
  simple optimzation
2004-03-31 03:32:38 +03:00
unknown
bc5365b4bb Stubs for types/names of placeholders, cursor flags and array execution count
implemented in the client library and server.
Warning: this makes the new client library and server incompatible with all 
previous versions and 5.0.


libmysql/libmysql.c:
  Make client library compatible with future extensions: types of placeholders, 
   names of named parameters, cursors and array execution.
sql/sql_prepare.cc:
  Alpha server side support for future extensions: types of placeholders and names of
  named parameters are sent to client (virtually), cursor flags and execution
  count received in COM_EXECUTE packet are ignored.
2004-03-31 02:27:49 +04:00
unknown
963debbe77 null processing for character_set_results (BUG#3296)
mysql-test/r/query_cache.result:
  test suite for BUG#3296
mysql-test/t/query_cache.test:
  test suite for BUG#3296
sql/sql_cache.cc:
  null processing for character_set_results
2004-03-30 23:38:56 +03:00
unknown
2ac5a256fe Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-03-30 22:20:40 +03:00
unknown
690a413d31 Force clients to recompile if client lib changes (Bug #3009)
sql/lock.cc:
  Added comments
sql/set_var.h:
  Indentation fix
2004-03-30 22:13:25 +03:00
unknown
f5297edcae Worklog#1563 - Support of on-line CREATE/DROP INDEX.
This is to enable table handlers to implement online create/drop index.
It consists of some parts:
- New default handler methods in handler.h
- Split of mysql_alter_table. It decides if only one kind of
  alteration is to be done (e.g. only create indexes or only drop
  indexes etc.) It then calls the specialized new handler method if
  the handler implements it. Otherwise it calls real_alter_table.
- The parser sets flags for each alter operation detected in a
  command. These are used by mysql_alter_table for the decision.
- mysql_prepare_table is pulled out of mysql_create_table. This is
  also used by mysql_create_index to prepare the key structure array
  for the handler. It is also used by mysql_create_index and
  mysql_drop_index to prepare a call to mysql_create_frm.
- mysql_create_frm is pulled out of rea_create_table for use by
  mysql_create_index and mysql_drop_index after the index is
  created/dropped.
Thanks to Antony who supplied most of the changes.


sql/handler.h:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  New virtual handler methods with default implementation and return flags.
sql/mysql_priv.h:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  New function prototypes. mysql_prepare_table is pulled out of
  mysql_create_table. It prepares a table structure, which is used by 
  mysql_create_table, mysql_create_index and mysql_drop_index.
  real_alter_table is pulled out of mysql_alter_table. The latter only
  looks if the requested operation can be done by specialized functions
  or else calls real_alter_table, which does the real thing.
  mysql_add_column and mysql_drop_colunm are for future use. They simply
  call real_alter_table. mysql_create_frm is pulled out of
  rea_create_table. It is called also from mysql_create_index and
  mysql_drop_index after successful create/drop index.
  mysql_alter_table prototype is extended by the new alter_flags argument.
sql/sql_base.cc:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  mysql_create_index and mysql_drop_index moved to sql_table.cc.
sql/sql_lex.h:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  Definitions for the new alter_flags.
sql/sql_parse.cc:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  Extend the calls to mysql_alter_table by the new alter_flags argument.
sql/sql_table.cc:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  mysql_prepare_table is pulled out of mysql_create_table.
  mysql_create_index and mysql_drop_index are changed so that they use
  the new handler functions if the handler implements them.
  mysql_add_column and mysql_drop_column are for future use. They simply
  call real_alter_table. mysql_alter_table only decides which function
  to use for the requested operation. real_alter_table implements most
  of what mysql_alter_table did before.
sql/sql_yacc.yy:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  Set the alter_flags where appropriate.
sql/unireg.cc:
  Worklog#1563 - Support of on-line CREATE/DROP INDEX.
  mysql_create_frm is pulled out of rea_create_table.
2004-03-30 19:22:14 +02:00
unknown
6b8d6d2a43 ALTER TABLE t1 CONVERT TO should also change the default character set.
Forgot to do it in the previous commit.
2004-03-30 22:18:49 +05:00
unknown
acd4d158cc More different syntaxes for (1) modifying the default charaset/collation
and for (2) converting the columns:

1.  ALTER TABLE t1 [DEFAULT] CHARACTER SET xxx [COLLATE yyy]
2.  ALTER TABLE t1 CONVERT TO CHARACTER SET xxx [COLLATE yyy]
2004-03-30 21:33:45 +05:00
unknown
bc12d57fa7 Fix to get correct metadata when using temporary tables to create result. (Bug #2654)
client/mysqltest.c:
  Added support for --enable_metadata
mysql-test/t/order_by.test:
  Improved comment
scripts/mysqlaccess.sh:
  CGI is required (Bug #2988)
sql/field.cc:
  Fix to get correct metadata when using temporary tables to create result
sql/field.h:
  Fix to get correct metadata when using temporary tables to create result
sql/sql_insert.cc:
  Fix to get correct metadata when using temporary tables to create result
2004-03-30 19:24:28 +03:00
unknown
35a21a9c10 query cache statistic fixed 2004-03-30 18:47:04 +03:00
unknown
b26165d3a2 resolving conflicts 2004-03-30 16:04:08 +05:00
unknown
3004dc7ef2 An improvement of
ChangeSet
  1.1707 04/03/19 12:36:55 ram@gw.mysql.r18.ru +4 -0
  Fix for the bug #2976: NATURAL JOIN produces duplicate columns.
2004-03-30 15:54:26 +05:00
unknown
3e15849bc8 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0
2004-03-30 13:52:53 +03:00
unknown
7be9b15a2a A fix for the error message when database can not be dropped due to
the extra files being present.
2004-03-30 13:50:00 +03:00
unknown
ceeaa24d18 false/true -> FALSE/TRUE
Fixes after last merge


mysql-test/r/bdb-crash.result:
  fixed bad merge
mysql-test/r/myisam.result:
  after merge fix
mysql-test/r/order_by.result:
  fixed bad merge
mysql-test/t/order_by.test:
  after merge fix
sql/field_conv.cc:
  false/true -> FALSE/TRUE
sql/handler.cc:
  false/true -> FALSE/TRUE
sql/item.cc:
  false/true -> FALSE/TRUE
sql/item_cmpfunc.cc:
  false/true -> FALSE/TRUE
sql/item_sum.cc:
  false/true -> FALSE/TRUE
sql/slave.cc:
  false/true -> FALSE/TRUE
sql/sql_acl.cc:
  false/true -> FALSE/TRUE
sql/sql_cache.cc:
  after merge fix
sql/sql_help.cc:
  false/true -> FALSE/TRUE
sql/sql_olap.cc:
  false/true -> FALSE/TRUE
sql/sql_parse.cc:
  false/true -> FALSE/TRUE
sql/sql_select.cc:
  fix after bad merge
sql/sql_table.cc:
  fix after bad merge
sql/sql_test.cc:
  false/true -> FALSE/TRUE
2004-03-30 02:32:41 +03:00
unknown
db9fde085f Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-03-30 01:43:45 +03:00
unknown
989756ab99 Better comment.
sql/sql_prepare.cc:
  While reviewing Sanja's patch finally understood what is going one here
  (previously marked as 'safety - nasty init' :-) ).
2004-03-30 02:03:42 +04:00
unknown
c489c6aba7 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-limit-5.0
2004-03-29 22:42:59 +03:00
unknown
0a073770c9 after review patch
commant for function


sql/item_subselect.cc:
  redusing number of parameters
sql/sql_derived.cc:
  redusing number of parameters
sql/sql_lex.cc:
  redusing number of parameters
  comment for function
sql/sql_lex.h:
  redusing number of parameters
sql/sql_parse.cc:
  redusing number of parameters
sql/sql_select.cc:
  redusing number of parameters
sql/sql_union.cc:
  redusing number of parameters
2004-03-29 22:40:49 +03:00
unknown
ff908d18a2 Merge with 4.0 to get lastest bug fixes
include/m_string.h:
  Auto merged
myisam/mi_create.c:
  Auto merged
mysql-test/r/bdb-crash.result:
  Auto merged
sql/handler.h:
  Auto merged
mysql-test/r/grant_cache.result:
  Auto merged
mysql-test/t/grant_cache.test:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
innobase/mem/mem0dbg.c:
  Merge with 4.0
mysql-test/r/myisam.result:
  Merge with 4.0
mysql-test/r/order_by.result:
  Merge with 4.0
mysql-test/t/bdb-crash.test:
  Merge with 4.0
mysql-test/t/myisam.test:
  Merge with 4.0
mysql-test/t/order_by.test:
  Merge with 4.0
sql/ha_berkeley.cc:
  Merge with 4.0 (use local code)
sql/sql_select.cc:
  Merge with 4.0 to get fix for FORCE INDEX ... ORDER BY
2004-03-29 19:21:53 +03:00
unknown
883215956e Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


sql/sql_insert.cc:
  Auto merged
2004-03-29 17:57:59 +03:00
unknown
1cff3d98b3 Disable INSERT DELAYED for embedded library
sql-bench/crash-me.sh:
  Fixed typo
sql/mysql_priv.h:
  Moved things for embedded library into one section
sql/sql_string.cc:
  Simple optimization
2004-03-29 17:57:07 +03:00
unknown
399845aedd Better error messages for not nullable
SET character_set_xxx=NULL
and
SET collation_xxx=NULL
2004-03-29 18:33:24 +05:00
unknown
5c7f368b78 Fixed BUG#3287: Stored Procedure Case Statement Not SQL:2003 Compliant.
include/mysqld_error.h:
  New error code for missing ELSE in SP CASE statement.
include/sql_state.h:
  New error code for missing ELSE in SP CASE statement.
mysql-test/r/sp-error.result:
  Test case for missing ELSE in SP CASE statement.
mysql-test/t/sp-error.test:
  Test case for missing ELSE in SP CASE statement.
sql/share/czech/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/danish/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/dutch/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/english/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/estonian/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/french/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/german/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/greek/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/hungarian/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/italian/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/japanese/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/korean/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/norwegian-ny/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/norwegian/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/polish/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/portuguese/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/romanian/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/russian/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/serbian/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/slovak/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/spanish/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/swedish/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/share/ukrainian/errmsg.txt:
  New error message for missing ELSE in SP CASE statement.
sql/sql_yacc.yy:
  Generate run-time error instruction when no ELSE in SP CASE statement.
2004-03-29 12:29:06 +02:00
unknown
7456a3e92f Enforce standard declaration order in SPs.
Added new test cases for this, and adjusted old tests accordingly,
and new error codes and messages.
Fixed bugs in some tests (bug2673 and use test).
Added debug printing of instructions in SPs.


include/mysqld_error.h:
  New error codes for non-standard declaration order in SPs.
include/sql_state.h:
  New error codes for non-standard declaration order in SPs.
mysql-test/r/sp-error.result:
  Enforce standard declaration order.
  Fixed syntax error in use-test.
  New test cases for wrong order.
mysql-test/r/sp.result:
  Enforce strict declaration order.
  Fixed platform dependent bug2673 test.
mysql-test/t/sp-error.test:
  Enforce standard declaration order.
  Fixed syntax error in use-test.
  New test cases for wrong order.
mysql-test/t/sp.test:
  Enforce strict declaration order.
  Fixed platform dependent bug2673 test.
sql/share/czech/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/danish/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/dutch/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/english/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/estonian/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/french/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/german/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/greek/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/hungarian/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/italian/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/japanese/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/korean/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/norwegian-ny/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/norwegian/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/polish/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/portuguese/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/romanian/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/russian/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/serbian/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/slovak/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/spanish/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/swedish/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/share/ukrainian/errmsg.txt:
  New error messages for strict (standard) declaration order in SPs.
sql/sp_head.cc:
  Debug printing of instructions in procedures.
  New error instruction for future use.
sql/sp_head.h:
  Debug printing of instructions in procedures.
  New error instruction for future use.
sql/sql_string.cc:
  New methods needed by debug printing of instruction in SPs.
sql/sql_string.h:
  New methods needed by debug printing of instruction in SPs.
sql/sql_yacc.yy:
  Check for standard order of declarations in SPs.
2004-03-29 11:16:45 +02:00
unknown
e43ad539f1 sql_db.cc:
More clear error message.


sql/sql_db.cc:
  More clear error message.
2004-03-29 11:05:27 +05:00
unknown
8cd70922ff aftermerge fix 2004-03-28 12:57:59 +03:00
unknown
f6a8ec5f92 "Fix" for BUG #2050 "10 to 1 performance drop with server 4.1.1".
Actually it is not a bug but right behavior observed as pefomance 
degradation after we have forced Item_field::fix_fields() to 
re-execute each time when we are executing prep stmt.

This patch implements small optimization which heals this bad 
behavior. We are caching field position in TABLE::field array in
Item's member and are using this position for speeding up field
lookups in fix_fields() in case of its re-execution.


sql/item.cc:
  Added cached_field_index member to Item_ident for caching field
  position in TABLE::field array for quicker field lookup in case 
  fix_fields() is executed twice.
sql/item.h:
  Added cached_field_index member to Item_ident for caching field
  position in TABLE::field array for quicker field lookup in case 
  fix_fields() is executed twice.
sql/mysql_priv.h:
  Now find_field_in_table has one more in-out parameter which is used
  for caching field index in TABLE::field array stored for quicker
  field look up.
sql/sql_acl.cc:
  Now find_field_in_table has one more in-out parameter which is used
  for caching field index in TABLE::field array stored for quicker
  field look up.
sql/sql_base.cc:
  Optimization: Now when we are looking up Field by its name we are 
  caching its position in TABLE::field array in Item_ident::cached_field_index,
  so when we will call fix_fields() second time for this item (e.g.
  when we are re-executing prep statement) we can reuse this index
  to speed up this lookup.
sql/table.cc:
  Now we storing in TABLE::name_hash pointers to elements of 
  TABLE::field array, because this allows easily retrieve index
  of field in this array when it is looked up by its name.
sql/table.h:
  Added comment claryfying what we store in TABLE::name_hash.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-03-28 04:11:54 +04:00
unknown
c375d86831 merge
mysql-test/r/union.result:
  Auto merged
2004-03-27 15:59:48 +02:00
unknown
a8feb0d6a2 Merge gbichot@213.136.52.20:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1
2004-03-27 01:08:29 +01:00
unknown
ec4a9dc983 A previous changeset by me today about SQL_LOG_BIN had the problem
that it tested the privilege in ::update() whereas it should be
in ::check() (see email from Serg, subject
"Re: bk commit - 4.1 tree (guilhem:1.1706)").
So I add instead a check_func function to sys_var_thd_bit.
I do the same addition to sys_var_thd_ulong, to unify handling
of PSEUDO_THREAD_ID with the one of SQL_LOG_BIN. So class
sys_var_pseudo_thread_id is not needed anymore, removing it.


mysql-test/r/rpl_temporary.result:
  result update
mysql-test/t/rpl_temporary.test:
  tests after new way of fixing; verify that when second variable
  assignment is refused then first is not done.
sql/set_var.cc:
  a check_func (check_log_update) when setting SQL_LOG_BIN,
  and one when setting PSEUDO_THREAD_ID.
  Removing class sys_var_pseudo_thread_id.
  Updates for new prototypes of constructor in sys_var_thd_bit
  and sys_var_thd_ulong.
sql/set_var.h:
  Adding check_func to sys_var_thd_bit.
  Adding check_func to sys_var_thd_ulong, so class sys_var_pseudo_thread_id
  is not needed anymore, removing it.
2004-03-27 01:07:09 +01:00
unknown
04e879e7ae some cleanup of last patch for BUG #2342
mysql-test/t/bdb-crash.test:
  added newline
sql/ha_berkeley.cc:
  added a commet
2004-03-27 02:37:05 +04:00
unknown
67e4f431d6 fixed bug #2342
"Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"


mysql-test/r/bdb-crash.result:
  added test for bug #2342 
  "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
mysql-test/t/bdb-crash.test:
  added test for bug #2342 
  "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
sql/handler.h:
  added constant HA_ADMIN_REJECT
sql/sql_table.cc:
  added processing of HA_ADMIN_REJECT in ha_berkley::analyze
2004-03-27 02:29:31 +04:00
unknown
2e3950b20d Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2342/mysql-4.0
2004-03-27 00:41:48 +04:00
unknown
aab1e50e71 fixed bug #2342
"Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"

1. added new status HA_ADMIN_REJECT and processing of it in mysql_admin_table
2. got ha_berkley::analyze to return HA_ADMIN_REJECT if there are any 
 transactions with the table.. 


mysql-test/r/bdb-crash.result:
  added test for bug #2342 
  "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
mysql-test/t/bdb-crash.test:
  added test for bug #2342 
  "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
sql/ha_berkeley.cc:
  fixed bug #2342 
  "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
  
  we have to return new status "HA_ADMIN_REJECT" for ha_berkley::analyze 
  if there are any transaction for this table 
  so as bdb documentation says:
  "The DB->stat method cannot be transaction protected"
sql/handler.h:
  added new status of table info "HA_ADMIN_REJECT"
  
  We have to return this status for bdb tables which 
  have any active transactions so as bdb-documentation says:
  "The DB->stat method cannot be transaction-protected"
sql/sql_table.cc:
  added processing of the new status HA_ADMIN_REJECT in mysql_admin_table
  (reason to add this status is explained in comment 
  for commit on sql/handler.h)
2004-03-27 00:35:45 +04:00
unknown
266d36196d Merge gbichot@213.136.52.20:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1


mysql-test/r/rpl_temporary.result:
  Auto merged
mysql-test/t/rpl_temporary.test:
  Auto merged
sql/set_var.cc:
  Auto merged
2004-03-26 19:29:10 +01:00
unknown
ab8c3d89b8 Changing SET SQL_LOG_BIN so that it explicitely throws an error if
user is not SUPER, instead of setting the value but ignoring it
silently internally.


mysql-test/r/rpl_temporary.result:
  result update
mysql-test/t/rpl_temporary.test:
  adding test for privileges for SET SQL_LOG_BIN
sql/log.cc:
  don't need to check SUPER
sql/set_var.cc:
  refuse SET SQL_LOG_BIN if not SUPER
sql/sql_insert.cc:
  Don't need to check SUPER
2004-03-26 19:25:22 +01:00
unknown
11bea84e43 To save 32KB memory per thread when --log-bin is not used, we do not
init the binlog_cache (THD::transaction.trans_log).
I have checked all places where trans_log is used, because as now
it may not be inited in some cases, we have to be cautious
(will forward this commit mail to Heikki).


sql/handler.cc:
  Do not use the transaction binlog cache if binlog is not open
sql/sql_class.cc:
  We do not init the transaction binlog cache if binlog is not open.
  This saves 32 KB memory per thread, if --log-bin is not used.
sql/sql_class.h:
  warning comment
2004-03-26 19:11:37 +01:00