Commit graph

14202 commits

Author SHA1 Message Date
unknown
5d119bf62c Merge bk-internal:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-03-24 13:56:05 +01:00
unknown
c62de1d5a8 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/dlenev/mysql-5.0-bg18153
2006-03-24 15:28:08 +03:00
unknown
a389ec0b1b Fix for bug #18153 "ALTER/OPTIMIZE/REPAIR on transactional tables corrupt
triggers".

Applying ALTER/OPTIMIZE/REPAIR TABLE statements to transactional table or to
table of any type on Windows caused disappearance of its triggers.
Bug was introduced in 5.0.19 by my fix for bug #13525 "Rename table does not
keep info of triggers" (see comment for sql_table.cc for more info).
.


mysql-test/r/trigger.result:
  Added test-case covering handling of triggers when one does ALTER TABLE which
  should move table to different database.
mysql-test/t/trigger.test:
  Added test-case covering handling of triggers when one does ALTER TABLE which
  should move table to different database.
sql/sql_table.cc:
  mysql_alter_table():
    Removal of strdup() which is no longer necessary allows us to preserve
    nice assumption that "(new_db != db || new_table != table_name) indicates
    that table will be renamed. So now we really can use this condition to
    avoid updating trigger definitions when table is not renamed.
    Note that we can't use (alter_info->flags & ALTER_RENAME) condition instead
    since it can be also true when we do "ALTER TABLE t1 RENAME TO t1".
sql/sql_trigger.cc:
  Table_triggers_list::change_table_name():
    Mentioned assumption that subject table is not renamed to itself in method
    description. Added DBUG_ASSERT() to catch wrong usage of this method.
mysql-test/r/trigger-trans.result:
  New BitKeeper file ``mysql-test/r/trigger-trans.result''
mysql-test/t/trigger-trans.test:
  New BitKeeper file ``mysql-test/t/trigger-trans.test''
2006-03-24 14:58:18 +03:00
unknown
7c8acd5931 Fix 'metaphon' function to correctly calculate the length of the returned string
sql/udf_example.cc:
  Calculate length of returned string correctly
2006-03-24 11:12:32 +01:00
unknown
72470a9828 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.0
2006-03-24 10:52:44 +01:00
unknown
cebcd28232 If doing write, then peeking is not needed 2006-03-24 10:45:00 +01:00
unknown
2711b9d5de Remove DBUG print that looks at args[0] even if arg_count is 0 2006-03-23 21:45:00 +01:00
unknown
52c4dbd88b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.0


client/mysqltest.c:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
2006-03-23 18:58:53 +01:00
unknown
65942df9c9 Post review fix of Bug#17431 INSERT IGNORE INTO returns failed: 1296: err 4350 'Transaction already aborted', shared locking is sufficient
sql/ha_ndbcluster.cc:
  Post review fix of Bug#17431 INSERT IGNORE INTO returns failed: 1296: err 4350 'Transacti
2006-03-23 15:20:24 +01:00
unknown
de752e89ea Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/ram/work/mysql-5.0
2006-03-23 18:11:40 +04:00
unknown
abffce9cad Fix for bug #18306: MySQL crashes and restarts using subquery
mysql-test/r/subselect.result:
  Fix for bug #18306: MySQL crashes and restarts using subquery
  test case
mysql-test/t/subselect.test:
  Fix for bug #18306: MySQL crashes and restarts using subquery
  test case
sql/opt_range.cc:
  Fix for bug #18306: MySQL crashes and restarts using subquery
  Restore thd->mem_root because
  during the cond->val_int() evaluation we can come across a subselect 
  item which may allocate memory on the thd->mem_root and assumes
  all the memory allocated has the same life span as the subselect
  item itself.
2006-03-23 18:09:35 +04:00
unknown
278b83a84d Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b15376


include/m_ctype.h:
  Auto merged
strings/ctype-bin.c:
  Auto merged
strings/ctype-euc_kr.c:
  Auto merged
strings/ctype-gb2312.c:
  Auto merged
strings/ctype-ucs2.c:
  Auto merged
2006-03-23 14:29:43 +04:00
unknown
6e73098f85 Fix for Bug#17431 INSERT IGNORE INTO returns failed: 1296: err 4350 'Transaction already aborted' 2006-03-23 09:48:46 +01:00
unknown
8c8e0567c7 Merge mysql.com:/usr/home/bar/mysql-4.1.b15376
into  mysql.com:/usr/home/bar/mysql-5.0


BitKeeper/deleted/.del-ctype-cp932.c:
  Auto merged
mysql-test/t/ctype_ujis.test:
  Auto merged
sql/sql_string.cc:
  Auto merged
strings/ctype-big5.c:
  Auto merged
strings/ctype-bin.c:
  Auto merged
strings/ctype-euc_kr.c:
  Auto merged
strings/ctype-gb2312.c:
  Auto merged
strings/ctype-gbk.c:
  Auto merged
strings/ctype-latin1.c:
  Auto merged
strings/ctype-simple.c:
  Auto merged
strings/ctype-sjis.c:
  Auto merged
strings/ctype-tis620.c:
  Auto merged
strings/ctype-ucs2.c:
  Auto merged
strings/ctype-ujis.c:
  Auto merged
strings/ctype-utf8.c:
  Auto merged
include/m_ctype.h:
  After merge fix.
mysql-test/r/ctype_ujis.result:
  After merge fix
2006-03-23 12:41:28 +04:00
unknown
0003994a5f Fix unused variable warning
sql/parse_file.cc:
  Remove unused variable
2006-03-22 22:37:32 +01:00
unknown
be47bcecb6 Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/50-work


mysql-test/lib/mtr_timer.pl:
  Auto merged
ndb/src/kernel/blocks/ERROR_codes.txt:
  Auto merged
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Auto merged
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
  Auto merged
ndb/src/ndbapi/NdbTransaction.cpp:
  Auto merged
ndb/src/ndbapi/TransporterFacade.hpp:
  Auto merged
ndb/test/ndbapi/testNodeRestart.cpp:
  Auto merged
ndb/test/run-test/Makefile.am:
  Auto merged
ndb/test/src/NdbRestarter.cpp:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  merge
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  merge
ndb/src/ndbapi/Ndbif.cpp:
  merge
ndb/src/ndbapi/TransporterFacade.cpp:
  merge
ndb/test/ndbapi/testTimeout.cpp:
  merge
ndb/test/run-test/daily-basic-tests.txt:
  merge
ndb/tools/desc.cpp:
  merge
2006-03-22 15:24:32 +01:00
unknown
4399da26b4 Merge mysql.com:/usr/home/bar/mysql-4.1.b18004
into  mysql.com:/usr/home/bar/mysql-5.0


sql/table.cc:
  Auto merged
2006-03-22 13:11:31 +04:00
unknown
16c47ef42d Merge bk-internal:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-03-21 20:08:25 +01:00
unknown
bda51a4275 Merge mysql.com:/home/bkroot/mysql-5.0
into  mysql.com:/home/bk/b18293-mysql-5.0
2006-03-21 14:37:41 +01:00
unknown
83ba974a3d BUG#18293 (Values in stored procedures written to binlog unescaped):
Generating character set-independent quoting of strings for the
binary log when executing statements from inside stored procedure.


mysql-test/r/ctype_cp932_binlog.result:
  Result change
mysql-test/t/ctype_cp932_binlog.test:
  Adding check that string literals are written correctly for multi-byte
  character sets.
sql/item.cc:
  Cutting out character set-independent string escaping code and putting it
  in a separate function.
sql/log_event.cc:
  Adding characters set-independent code to separate function.
sql/mysql_priv.h:
  Adding new function.
sql/sp_head.cc:
  Escaping string value representing a string item.
2006-03-21 14:35:49 +01:00
unknown
6219f23b94 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/bug11835/my50-bug11835


client/mysqltest.c:
  Auto merged
configure.in:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_udf.cc:
  Auto merged
2006-03-20 21:35:05 +01:00
unknown
7913527eb8 Bug#18004 Connecting crashes server when default charset is UCS2
table.cc:
  Fixing to use system_charset_info instead of default_charset_info.
  Crash happened because the "ctype" array is empty in UCS2,
  and thus cannot be used with my_isspace().
  The reason why UCS2 appeared in this context was because of
  of default_charset_info variable incorrectly substituted to my_isspace().
  As functions check_db_name(), check_table_name() and check_column_name()
  always get values in utf8, system_charset_info must be used instead.
ctype_ucs2_def.test, ctype_ucs2_def-master.opt, ctype_ucs2_def.result:
  new file


sql/table.cc:
  Bug#18004 Connecting crashes server when default charset is UCS2
  Use of default_charset_info was wrong.
  Functions check_db_name, check_table_name and check_column_name
  get values of system_charset_info character set (utf8).
2006-03-20 14:43:02 +04:00
unknown
80ffe8bd65 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.0
2006-03-20 11:20:13 +01:00
unknown
53862e6060 Fix for bug#18224 VIEW on information_schema crashes the server
additional check for subselect


mysql-test/r/information_schema.result:
  Fix for bug#18224 VIEW on information_schema crashes the server
    test case
mysql-test/t/information_schema.test:
  Fix for bug#18224 VIEW on information_schema crashes the server
    test case
2006-03-20 14:17:47 +04:00
unknown
ce39d29493 Fix for bug #18113 "SELECT * FROM information_schema.xxx crashes server"
Crash happened when one selected data from one of INFORMATION_SCHEMA
tables and in order to build its contents server had to open view which
used stored function and table or view on which one had not global or
database-level privileges (e.g. had only table-level or had no
privileges at all).

The crash was caused by usage of check_grant() function, which assumes
that either number of tables to be inspected by it is limited explicitly
or table list used and thd->lex->query_tables_own_last value correspond
to each other (the latter should be either 0 or point to next_global
member of one of elements of this table list), in conditions when
above assumptions were not true. This fix just explicitly limits
number of tables to be inspected. Other negative effects which are
caused by the fact that thd->lex->query_tables_own_last might not
be set properly during processing of I_S tables are less disastrous
and will be reported and fixed separetely.



mysql-test/r/information_schema_db.result:
  Fix for bug #18113 "SELECT * FROM information_schema.xxx crashes server"
    test case
mysql-test/t/information_schema_db.test:
  Fix for bug #18113 "SELECT * FROM information_schema.xxx crashes server"
    test case
sql/sql_acl.cc:
    added note
2006-03-20 13:42:02 +04:00
unknown
c560a5b1d4 Merge
sql/ha_innodb.cc:
  Auto merged
2006-03-18 10:11:36 +01:00
unknown
e174aa1970 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.0
2006-03-17 14:40:38 +01:00
unknown
3adad925fe configure.in:
Changed release name to 5.0.19a
ha_innodb.cc:
  InnoDB used table locks (not row locks) within stored functions. (Bug #18077)


sql/ha_innodb.cc:
  InnoDB used table locks (not row locks) within stored functions. (Bug #18077)
configure.in:
  Changed release name to 5.0.19a
2006-03-17 11:32:02 +01:00
unknown
2122a3f9bc Merge mysql.com:/home/emurphy/src/mysql/bk-clean/mysql-4.1
into  mysql.com:/home/emurphy/src/mysql/bk-clean/mysql-5.0


sql/ha_innodb.cc:
  Auto merged
2006-03-17 10:50:01 +01:00
unknown
367442f754 BUG#18283 When InnoDB returns error 'lock table full', MySQL can write
to binlog too much.

When InnoDB has to rollback a transaction because the lock table has
filled up, it also needs to inform the upper layer that the transaction
was rolled back so that the cached transaction is not written to the
binary log.


sql/ha_innodb.cc:
  When InnoDB rolls back a transaction in HA_ERR_LOCK_TABLE_FULL, it
  needs to inform the upper layer to rollback the transaction also.
2006-03-17 10:25:29 +01:00
unknown
aa3411f54b Merge abelkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  production.mysql.com:/usersnfs/abelkin/work-qc-5.0
2006-03-17 00:56:47 +01:00
unknown
01a38b98b0 Merge shellback.(none):/home/msvensson/mysql/bug13310/my50-bug13310
into  shellback.(none):/home/msvensson/mysql/mysql-5.0
2006-03-16 12:07:24 +01:00
unknown
d33fc7bad1 Add extre DBUG_PRINT in push_warning
sql/sql_error.cc:
  Add DBUG_PRINT to make it easier to find the correct push_warning
2006-03-16 12:06:39 +01:00
unknown
78e37021e5 Bug#14575
¨MySQL server crashes if you try to access to InnoDB table¨
  crash caused by schizophrenic mysqld - 2 memory locations for logically same function
  with conflicting values.
  Fixed by backporting from 5.1 changes to have_xyz_db declarations.


sql/mysql_priv.h:
  Backport have_xyz_db changes from 5.1
sql/mysqld.cc:
  Backport have_xyz_db changes from 5.1
2006-03-16 00:15:23 -08:00
unknown
bb69d16d6b We should prohobit concurent read of inserting file in SP
because it can couse problem with Query cache (BUG#14767)


mysql-test/r/query_cache_notembedded.result:
  BUG#14767 test suite.
mysql-test/t/query_cache_notembedded.test:
  BUG#14767 test suite.
sql/sql_insert.cc:
  Query cache invalidation table we was inserting in just after
  unlocking table added to avoid the race condition as we had
  with SP.
sql/sql_parse.cc:
  Query cache invalidation table we was inserting in just after
  unlocking table added to avoid the race condition as we had
  with SP.
sql/sql_yacc.yy:
  We should prohibit concurent read of unserting file in SP
  because it can cause problem with query cache.
2006-03-15 19:15:52 +02:00
unknown
d15c797900 Merge kite-hub.kitebird.com:/src/extern/MySQL/bk/mysql-5.0
into  kite-hub.kitebird.com:/src/extern/MySQL/bk/mysql-5.0-r1.2084
2006-03-14 13:32:48 -06:00
unknown
232dec09d9 mysqld.cc:
Backport option description change from 5.1 to 5.0.


sql/mysqld.cc:
  Backport option description change from 5.1 to 5.0.
2006-03-14 13:26:28 -06:00
unknown
5da3a478a1 sql_select.cc:
Afterfix for bug#17366: Unchecked Item_int results in server crash


sql/sql_select.cc:
  Afterfix for bug#17366: Unchecked Item_int results in server crash
2006-03-14 18:49:37 +03:00
unknown
09f54a2e5e Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into sunlight.local:/work_local/17336-bug-5.0-mysql


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
2006-03-14 15:33:13 +03:00
unknown
d48cfa8ac7 Bug #17043: Casting trimmed string to decimal loses precision
Results of string functions were being converted to decimals by first
  being converted to integers, resulting in a loss of precision.


mysql-test/r/func_str.result:
  Add new results
mysql-test/t/func_str.test:
  Add new regression test
sql/item_strfunc.cc:
  Convert string function results to decimal using string-to-decimal conversion
sql/item_strfunc.h:
  Add Item_str_func::val_decimal()
2006-03-14 02:04:43 -08:00
unknown
8ba5a687ed Fixed bug#17366: Unchecked Item_int results in server crash
When there is conjunction of conds, the substitute_for_best_equal_field()
will call the eliminate_item_equal() function in loop to build final
expression. But if eliminate_item_equal() finds that some cond will always
evaluate to 0, then that cond will be substituted by Item_int with value ==
0. In this case on the next iteration eliminate_item_equal() will get that 
Item_int and treat it as Item_cond. This is leads to memory corruption and
server crash on cleanup phase.

To the eliminate_item_equal() function was added DBUG_ASSERT for checking
that all items treaten as Item_cond are really Item_cond.
The substitute_for_best_equal_field() now checks that if
eliminate_item_equal() returns Item_int and it's value is 0 then this 
value is returned as the result of whole conjunction.


mysql-test/t/subselect.test:
  Added test for bug#17366: Unchecked Item_int results in server crash
mysql-test/r/subselect.result:
   Added test for bug#17366: Unchecked Item_int results in server crash
sql/sql_select.cc:
  Fixed bug#17366: Unchecked Item_int results in server crash
   
  To the eliminate_item_equal() function was added DBUG_ASSERT for checking
  that all items treaten as Item_cond are really Item_cond.
  The substitute_for_best_equal_field() now checks that if
  eliminate_item_equal() returns something other than Item_cond and if it is
  then this value is returned as the result of whole conjunction.
2006-03-13 21:11:15 +03:00
unknown
adc60cf84d Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/FIXES/5.0.20-bug15101-sysdate
2006-03-10 17:40:35 +02:00
unknown
8f543b5eb8 BUG#15101 SYSDATE() disregards SET TIMESTAMP.
After the ChangeSet 1.1892.20.1 2005/08/24 (Bug #12562) SYSDATE() is not an alias
   of NOW() and is unsafe for replication.
   `SYSDATE()' backward compatible aliasing clashes with the idea #12562 
   fix. To make it safe-replicatable we have to either use RBR or to restore
   the pre-5.0 style.
   --sysdate-is-now command line flag was introduced to provide backward compatibility.


sql/mysqld.cc:
  New option to force SYSDATE's backward compatible with 4.1 aliasing to NOW (not default)
sql/sql_class.h:
  new slot to fill at init time and check at parse
sql/sql_yacc.yy:
  calling NOW's branches when --sysdate-is-now
mysql-test/r/sysdate_is_now.result:
  New BitKeeper file ``mysql-test/r/sysdate_is_now.result''
mysql-test/t/sysdate_is_now-master.opt:
  New BitKeeper file ``mysql-test/t/sysdate_is_now-master.opt''
mysql-test/t/sysdate_is_now.test:
  New BitKeeper file ``mysql-test/t/sysdate_is_now.test''
2006-03-10 16:47:56 +02:00
unknown
fb36d923ce Fixed BUG#16474: SP crashed MySQL
fix_fields() was not called for "order by" variables if the type was a
  "constant integer", and thus interpreted as a column index.
  However, a local variable is an expression and should not be interpreted
  as a column index. Instead it behaves just like when using a user variable
  for instance (i.e. it will not affect the ordering).



mysql-test/r/sp.result:
  Updated results for new test case (BUG#16474).
mysql-test/t/sp.test:
  New test case for BUG#16474.
sql/sql_select.cc:
  When processing order list,
2006-03-10 14:04:56 +01:00
unknown
cf539a5ac0 Additional fix for BUG#16777: Can not create trigger nor view
w/o definer if --skip-grant-tables specified.
  
The previous patch does not allow to specify empty host name in
DEFINER-clause explicitly.


mysql-test/r/skip_grants.result:
  Updated the result file.
mysql-test/r/view_grant.result:
  Updated the result file.
mysql-test/t/skip_grants.test:
  Added test cases for BUG#16777; re-organized tests.
mysql-test/t/view_grant.test:
  Updated after final fix of BUG#16777.
sql/sql_parse.cc:
  The final part of fixing BUG#16777: allow empty host name in explicitly
  specified DEFINER-clause.
sql/sql_show.cc:
  Quote an identifier if it is empty.
2006-03-10 14:40:15 +03:00
unknown
4fb909838b Update test results for udf
Remove STANDARD  define when compile udf_example.so


mysql-test/r/udf.result:
  Update results
mysql-test/t/udf.test:
  Update test try to create, use and drop a non existing function
  Disable the result from "reverse_lookup" as it is config dependent
sql/Makefile.am:
  Remove the "STANDARD" define when compiling udf_example.so
2006-03-10 12:12:08 +01:00
unknown
50c8c206fc Fixed bug#13575: SP funcs in select with distinct/group and order by can
produce wrong data

By default Item_sp_func::val_str() returns string from it's result_field 
internal buffer. When grouping is present Item_copy_string is used to 
store SP function result, but it doesn't additionally buffer the result.
When the next record is read, internal buffer is overwritten, due to
this Item_copy_string::val_str() will have wrong data. Thus producing
weird query result.

The Item_func_sp::val_str() now makes a copy of returned value to prevent
occasional corruption.


mysql-test/t/sp.test:
  Added test case for bug#13575: SP funcs in select with distinct/group and order by can
  produce wrong data
mysql-test/r/sp.result:
  Added test case for bug#13575: SP funcs in select with distinct/group and
      order by can produce wrong data
sql/item_func.h:
  Fixed bug#13575: SP funcs in select with distinct/group and order by can
      produce wrong data
      The Item_func_sp::val_str() now makes a copy of returned value to prevent
      occasinal corruption.
2006-03-10 13:53:00 +03:00
unknown
26acf8d722 Merge msvensson@devsrv-b:/space/magnus/bug17261/my50-bug17261
into  neptunus.(none):/home/msvensson/mysql/bug11835/my50-bug11835


sql/share/errmsg.txt:
  Auto merged
sql/udf_example.cc:
  Auto merged
2006-03-10 10:42:42 +01:00
unknown
e52ff5557c Bug#17261 Passing a variable from a stored procedure to UDF crashes mysqld
- Update of test toolsand Makefiles to make it possible to test always test udf's as part 
of the mysql test suite


mysql-test/mysql-test-run.pl:
  Add the path where mysqld will udf_example.so used by the udf test
mysql-test/r/udf.result:
  Update test results
mysql-test/t/udf.test:
  Update tests
  The "--error 0" directives should actually be changed to the correct error number returned but that error  number is lost. W e do however get the right error message and that is checked in 
  the .result file.
sql/Makefile.am:
  Build shared library udf_example.so
sql/share/errmsg.txt:
  Update the max length of %s string from 64 to 128
sql/sql_udf.cc:
  Add DBUG_PRINT just before dl_open
sql/udf_example.cc:
  Use isalpha instade of my_isalpha
2006-03-10 10:41:04 +01:00
unknown
d1f1c383c6 Merge msvensson@devsrv-b:/space/magnus/bug17261/my50-bug17261
into  neptunus.(none):/home/msvensson/mysql/bug11835/my50-bug11835


sql/udf_example.cc:
  Auto merged
2006-03-10 10:16:50 +01:00