Commit graph

32232 commits

Author SHA1 Message Date
unknown
09e7808909 Merge siva.hindu.god:/usr/home/tim/m/bk/b20536-50
into  siva.hindu.god:/usr/home/tim/m/bk/50


sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
2006-08-23 13:43:28 -06:00
unknown
df4cbda043 Merge maint1.mysql.com:/data/localhome/cmiller/bug20908/my50-bug20908
into  maint1.mysql.com:/data/localhome/cmiller/mysql-5.0-maint


mysql-test/r/variables.result:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/gen_lex_hash.cc:
  Manual merge
2006-08-23 19:41:46 +02:00
unknown
f96ee72fb0 Fix for BUG#16899: Possible buffer overflow in handling of DEFINER-clause
User name (host name) has limit on length. The server code relies on these
limits when storing the names. The problem was that sometimes these limits
were not checked properly, so that could lead to buffer overflow.

The fix is to check length of user/host name in parser and if string is too
long, throw an error.


mysql-test/r/grant.result:
  Updated result file.
mysql-test/r/sp.result:
  Updated result file.
mysql-test/r/trigger.result:
  Updated result file.
mysql-test/r/view.result:
  Updated result file.
mysql-test/t/grant.test:
  Added test for BUG#16899.
mysql-test/t/sp.test:
  Added test for BUG#16899.
mysql-test/t/trigger.test:
  Added test for BUG#16899.
mysql-test/t/view.test:
  Added test for BUG#16899.
sql/mysql_priv.h:
  Added prototype for new function.
sql/share/errmsg.txt:
  Added new resources.
sql/sql_acl.cc:
  Remove outdated checks.
sql/sql_parse.cc:
  Add a new function for checking string length.
sql/sql_yacc.yy:
  Check length of user/host name.
2006-08-23 21:31:00 +04:00
unknown
f9832bf116 Bug #20908: Crash if select @@""
Zero-length variables caused failures when using the length to look
up the name in a hash.  Instead, signal that no zero-length name can
ever be found and that to encounter one is a syntax error.


mysql-test/r/variables.result:
  Results for test.
mysql-test/t/variables.test:
  Insert tests to prove that zero-length variable names do not cause
  faults.
sql/gen_lex_hash.cc:
  If the length is zero, then there is nothing to look-up in the 
  hash.
sql/sql_lex.cc:
  Names of variables must not be empty.  Signal an error of that 
  happens.
2006-08-23 19:14:58 +02:00
unknown
70ad92dc24 configure.in : Set the version for 5.0.24a.
configure.in:
  Set the version for 5.0.24a.
2006-08-23 17:40:05 +02:00
unknown
0a25f54554 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  maint1.mysql.com:/data/localhome/cmiller/mysql-5.0-maint


sql/sql_lex.cc:
  Auto merged
2006-08-23 17:37:18 +02:00
unknown
e989c51d0d Merge lamia.home:/home/timka/mysql/src/4.1-virgin
into  lamia.home:/home/timka/mysql/src/4.1-bug-21456


sql/sql_select.cc:
  Auto merged
2006-08-23 18:30:21 +03:00
unknown
e3181c59e7 Merge lamia.home:/home/timka/mysql/src/4.1-bug-21456
into  lamia.home:/home/timka/mysql/src/5.0-bug-21456


mysql-test/r/distinct.result:
  Merge the fix for BUG#21456
mysql-test/t/distinct.test:
  Merge the fix for BUG#21456
sql/sql_select.cc:
  Merge the fix for BUG#21456
2006-08-23 18:22:53 +03:00
unknown
69a29c1ea1 Merge may.pils.ru:/home/svoj/devel/mysql/BUG19702/mysql-4.1
into  may.pils.ru:/home/svoj/devel/mysql/BUG19702/mysql-5.0-engines


myisam/mi_packrec.c:
  Auto merged
2006-08-23 20:06:56 +05:00
unknown
029af2b126 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/m50-maint-b21224


client/mysql_upgrade.c:
  Auto merged
2006-08-23 10:47:46 -04:00
unknown
2baf2fdf13 Bug #21456: SELECT DISTINCT(x) produces incorrect results when using order by
GROUP BY/DISTINCT pruning optimization must be done before ORDER BY 
optimization because ORDER BY may be removed when GROUP BY/DISTINCT
sorts as a side effect, e.g. in 
  SELECT DISTINCT <non-key-col>,<pk> FROM t1
  ORDER BY <non-key-col> DISTINCT
must be removed before ORDER BY as if done the other way around
it will remove both.


mysql-test/r/distinct.result:
  Test for BUG#21456.
mysql-test/t/distinct.test:
  Test for BUG#21456.
sql/sql_select.cc:
  Bug #21456: SELECT DISTINCT(x) produces incorrect results when using order by
  
  GROUP BY/DISTINCT pruning optimization must be done before ORDER BY 
  optimization because ORDER BY may be removed when GROUP BY/DISTINCT
  sorts as a side effect.
2006-08-23 16:46:57 +03:00
unknown
79628df018 Fix for bug#21537, "Error at startup"
These variables must be defined for Netware, or it fails
to recognize hard paths starting from the device.

(Packport of:  2006/08/16 19:30:46+03:00 jani@ua141d10.elisa.omakaista.fi  )


include/config-netware.h:
  Fix for bug#21537, "Error at startup"
  
  These variables must be defined for Netware.
  
  (Backport of:  2006/08/16 19:30:44+03:00 jani@ua141d10.elisa.omakaista.fi +4 -0  )
2006-08-23 12:08:08 +02:00
unknown
a32e38535d Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2006-08-23 11:01:12 +02:00
unknown
c251e8a864 Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb


ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-08-23 11:00:29 +02:00
unknown
09e9b2f6cd Bug#8153 (Stored procedure with subquery and continue handler, wrong result)
Implemented code review comments
Test cleanup


sql/protocol.cc:
  Bug#8153 (Stored procedure with subquery and continue handler, wrong result)
  
  Implemented code review comments
2006-08-22 18:58:14 -07:00
unknown
e8bb0c9295 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/21475-fix-5.0-opt-mysql
2006-08-23 01:04:00 +04:00
unknown
d8c9de79f4 item_cmpfunc.cc, item.cc:
Additional fix for bug #21475
item_func.h, item_func.cc:
  Additional fix for bug#16861


sql/item_func.h:
  Additional fix for bug#16861
sql/item_func.cc:
  Additional fix for bug#16861
sql/item_cmpfunc.cc:
  Additional fix for bug #21475
sql/item.cc:
  Additional fix for bug #21475
2006-08-23 01:03:28 +04:00
unknown
cb874dbd81 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-kt
2006-08-22 19:01:56 +02:00
unknown
5e1039b234 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-8153


mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/mysqld.cc:
  Auto merged
2006-08-22 09:06:00 -07:00
unknown
629a4b1ae1 Bug#15583: BIN()/OCT()/CONV() do not work with BIT values
Converting BIT to a string (an intermediate step in conversion) does 
not yield an ASCII numeric string, so we skip that step for BIT and
get the integer value directly from the item.

This site in sql/item_strfunc.cc may be ripe for refactoring for
other types as well, where converting to a string is a waste of time.


mysql-test/r/type_bit.result:
  Test that conversion functions on BIT types work properly, including 
  NULL.
mysql-test/t/type_bit.test:
  Test that conversion functions on BIT types work properly.
sql/item_strfunc.cc:
  BIT is unlike the other numeric types, in that when we convert it
  to a String, it becomes a one-byte string with ordinal numeric value
  of the BIT field, not a several-byte string with the ASCII decimal
  representation.  As a special case for conversion functions, we take
  the integer directly from the bit type instead of representing it
  as a string in an intermediate step.
2006-08-22 17:51:00 +02:00
unknown
f40b6c273c Merge salvation.intern.azundris.com:/home/tnurnberg/work/mysql-5.0-maint-20411
into  salvation.intern.azundris.com:/home/tnurnberg/work/mysql-5.0-maint-20987
2006-08-22 17:27:36 +02:00
unknown
e0a6e183a2 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  salvation.intern.azundris.com:/home/tnurnberg/work/mysql-5.0-maint-20987
2006-08-22 17:22:46 +02:00
unknown
7d70273e08 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.0
2006-08-22 10:32:07 -04:00
unknown
bbda4dd304 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rurik.mysql.com:/home/igor/mysql-5.0-opt
2006-08-22 07:09:11 -07:00
unknown
3a23139aa4 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  sunlight.local:/local_work/16861-bug-5.0-mysql


sql/sql_select.cc:
  Auto merged
2006-08-22 17:39:18 +04:00
unknown
c623e54fb8 Fixed bug#16861: User defined variable can have a wrong value if a tmp table was
used.

Sorting by RAND() uses a temporary table in order to get a correct results.
User defined variable was set during filling the temporary table and later
on it is substituted for its value from the temporary table. Due to this
it contains the last value stored in the temporary table.

Now if the result_field is set for the Item_func_set_user_var object it 
updates variable from the result_field value when being sent to a client.

The Item_func_set_user_var::check() now accepts a use_result_field
parameter. Depending on its value the result_field or the args[0] is used
to get current value.


mysql-test/r/user_var.result:
  Added a test case for bug#16861: User defined variable can have a wrong value if a tmp table was used.
mysql-test/t/user_var.test:
  Added a test case for bug#16861: User defined variable can have a wrong value if a tmp table was used.
sql/item_func.cc:
  Fixed bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Now if the result_field is set for the Item_func_set_user_var object it 
  updates variable from the result_field value when being sent to a client.
  
  The Item_func_set_user_var::check() now accepts a use_result_field
  parameter. Depending on its value the result_field or the args[0] is used
  to get current value.
sql/item_func.h:
  Fixed bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Added a new SUSERVAR_FUNC function type.
  Updated the Item_func_set_user_var::check() function declaration.
  Added the Item_func_set_user_var::send() member function.
sql/set_var.cc:
  Fixed bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Modified to use updated Item_func_set_user_var::check() function.
sql/sql_class.cc:
  Fixed bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Modified to use updated Item_func_set_user_var::check() function.
sql/sql_select.cc:
  Fixed bug#16861: User defined variable can have a wrong value if a tmp table was used.
  Now an Item_func_set_user_var object isn't substituted for an Item_field object after filling a temporary table.
2006-08-22 17:37:41 +04:00
unknown
8776a1e185 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/21475-bug-5.0-opt-mysql
2006-08-22 17:18:00 +04:00
unknown
91c28dafb9 Merge orca.ndb.mysql.com:/export/home/space/pekka/ndb/version/my50-ndb
into  orca.ndb.mysql.com:/export/home/space/pekka/ndb/version/my50-bug21017
2006-08-22 14:58:38 +02:00
unknown
cdd9147ee2 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  salvation.intern.azundris.com:/home/tnurnberg/work/mysql-5.0-maint-20411


sql/sql_acl.cc:
  Auto merged
2006-08-22 14:31:57 +02:00
unknown
97e0f59b3b Bug#20411: "GRANT ... REQUIRE ISSUER nnn AND SUBJECT mmm" fails to require both
when X.509 subject was required for a connect, we tested whether it was the right
one, but did not refuse the connexion if not. fixed.

(corrected CS now --replace_results socket-path)


mysql-test/r/openssl_1.result:
  Bug#20411: "GRANT ... REQUIRE ISSUER nnn AND SUBJECT mmm" fails to require both
  
  test not only whether we can connect with a correct X.509 subject when one is
  required, but also assure that we can't without one.
mysql-test/t/openssl_1.test:
  Bug#20411: "GRANT ... REQUIRE ISSUER nnn AND SUBJECT mmm" fails to require both
  
  test not only whether we can connect with a correct X.509 subject when one is
  required, but also assure that we can't without one.
sql/sql_acl.cc:
  Bug#20411: "GRANT ... REQUIRE ISSUER nnn AND SUBJECT mmm" fails to require both
  
  actually refuse connexion if X.509 is required, but does not match. kudos to Al Smith.
2006-08-22 14:29:48 +02:00
unknown
06b1f15dc3 ndb - post-merge fix 5.0 to 5.0-ndb: number of frags if --without-big-tables
sql/ha_ndbcluster.cc:
  calculate frags with (ulonglong)max_rows in case --without-big-tables
2006-08-22 14:26:56 +02:00
unknown
4f630bf3eb Merge salvation.intern.azundris.com:/home/tnurnberg/work/mysql-4.1-maint-20987
into  salvation.intern.azundris.com:/home/tnurnberg/work/mysql-5.0-maint-20987


sql/item_timefunc.cc:
  Auto merged
mysql-test/r/func_time.result:
  manual merge
mysql-test/t/func_time.test:
  manual merge
2006-08-22 14:03:52 +02:00
unknown
38558705d0 Fixed bug 16201: a memory corruption causing crashes due to a too small
buffer for a MY_BITMAP temporary buffer allocated on stack in the
function get_best_covering_ror_intersect().
Now the buffer of a proper size is allocated by a request from this
function in mem_root.

We succeeded to demonstrate the bug only on Windows with a very large
database. That's why no test case is provided for in the patch.


sql/opt_range.cc:
  Fixed bug 16201: a memory corruption causing crashes due to a too small 
  buffer for a MY_BITMAP temporary buffer allocated on stack in the
  function get_best_covering_ror_intersect().
  Now the buffer of a proper size is allocated by a request from this
  function in mem_root.
2006-08-22 04:14:39 -07:00
unknown
adb31669de Fix compile errors in VC++ 7.0: fix typo made in previous cset 2006-08-22 15:03:13 +04:00
unknown
446bb66928 mysql.spec.sh:
Added ndb_error_reporter to the RPM install (bug#20426)


support-files/mysql.spec.sh:
  Added ndb_error_reporter to the RPM install (bug#20426)
2006-08-22 11:55:08 +02:00
unknown
5c2c16011a Merge mysql.com:/Users/kent/mysql/bk/bug17194/my41-bug17194
into  mysql.com:/Users/kent/mysql/bk/bug17194/my50-bug17194


support-files/mysql.spec.sh:
  Auto merged
2006-08-22 11:52:26 +02:00
unknown
c9327bd970 mysql.spec.sh:
Added ndb_size.{pl,tmpl} to the RPM install (bug#20426)


support-files/mysql.spec.sh:
  Added ndb_size.{pl,tmpl} to the RPM install (bug#20426)
2006-08-22 11:48:58 +02:00
unknown
1c031c9b48 Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-5.0
into  orca.ndb.mysql.com:/export/home/space/pekka/ndb/version/my50-ndb
2006-08-22 11:11:20 +02:00
unknown
b5cbed72bc Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21051-2


include/mysql_com.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
2006-08-22 12:21:37 +04:00
unknown
662890878b Merge april.(none):/home/svoj/devel/bk/mysql-4.1-engines
into  april.(none):/home/svoj/devel/mysql/BUG19702/mysql-4.1
2006-08-22 13:13:28 +05:00
unknown
877477f173 BUG#21051: RESET QUERY CACHE very slow when query_cache_type=0
There were two problems: RESET QUERY CACHE took a long time to complete
and other threads were blocked during this time.

The patch does three things:
  1 fixes a bug with improper use of test-lock-test_again technique.
      AKA Double-Checked Locking is applicable here only in few places.
  2 Somewhat improves performance of RESET QUERY CACHE.
      Do my_hash_reset() instead of deleting elements one by one.  Note
      however that the slowdown also happens when inserting into sorted
      list of free blocks, should be rewritten using balanced tree.
  3 Makes RESET QUERY CACHE non-blocking.
      The patch adjusts the locking protocol of the query cache in the
      following way: it introduces a flag flush_in_progress, which is
      set when Query_cache::flush_cache() is in progress.  This call
      sets the flag on enter, and then releases the lock.  Every other
      call is able to acquire the lock, but does nothing if
      flush_in_progress is set (as if the query cache is disabled).
      The only exception is the concurrent calls to
      Query_cache::flush_cache(), that are blocked until the flush is
      over.  When leaving Query_cache::flush_cache(), the lock is
      acquired and the flag is reset, and one thread waiting on
      Query_cache::flush_cache() (if any) is notified that it may
      proceed.


include/mysql_com.h:
  Add comment for NET::query_cache_query.
sql/net_serv.cc:
  Use query_cache_init_query() for initialization of
  NET::query_cache_query if query cache is used.
  Do not access net->query_cache_query without a lock.
sql/sql_cache.cc:
  Fix bug with accessing query_cache_size, Query_cache_query::wri and
  thd->net.query_cache_query before acquiring the lock---leave
  double-check locking only in safe places.
  Wherever we check that cache is usable (query_cache_size > 0) we now
  also check that flush_in_progress is false, i.e. we are not in the
  middle of cache flush.
  Add Query_cache::not_in_flush_or_wait() method and use it in
  Query_cache::flush_cache(), so that threads doing cache flush will
  wait it to finish, while other threads will bypass the cache as if
  it is disabled.
  Extract Query_cache::free_query_internal() from Query_cache::free_query(),
  which does not removes elements from the hash, and use it together with
  my_hash_reset() in Query_cache::flush_cache().
sql/sql_cache.h:
  Add declarations for new members and methods.
  Make is_cacheable() a static method.
  Add query_cache_init_query() function.
sql/sql_class.cc:
  Use query_cache_init_query() for initialization of
  NET::query_cache_query.
2006-08-22 11:47:52 +04:00
unknown
97c0c8106e Merge bk-internal:/home/bk/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


tests/mysql_client_test.c:
  Auto merged
2006-08-22 08:31:18 +02:00
unknown
3d847396a2 Remove debug printout from mysql_client_test
tests/mysql_client_test.c:
  Remove debug printout
2006-08-22 08:30:33 +02:00
unknown
ad0f34e38e Bug#21757: mysql_client_test fails in testcase when reading master.log file
tests/mysql_client_test.c:
  Replace fopen with my_fopen and specify O_BINARY. Replace fclose with my_fclose.
2006-08-21 20:29:11 -04:00
unknown
f73572d9d2 mysqld.cc:
var was already defined so had to remove extra one


sql/mysqld.cc:
  var was already defined so had to remove extra one
2006-08-21 16:36:03 +02:00
unknown
c65c37a970 Merge production.mysql.com:/usersnfs/rburnett/tmp_merge
into  production.mysql.com:/usersnfs/rburnett/mysql-5.0-kt


mysql-test/r/ctype_ucs2_def.result:
  Auto merged
mysql-test/t/ctype_ucs2_def-master.opt:
  Auto merged
mysql-test/t/ctype_ucs2_def.test:
  Auto merged
2006-08-21 16:14:06 +02:00
unknown
a88d329612 Merge production.mysql.com:/usersnfs/rburnett/tmp_merge
into  production.mysql.com:/usersnfs/rburnett/mysql-5.0-kt


sql-common/client.c:
  Auto merged
2006-08-21 16:08:20 +02:00
unknown
c2e845189e Merge bk-internal:/home/bk/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-08-21 15:47:01 +02:00
unknown
7fd770423a Bug#19810 Bundled YASSL in libmysqlclient conflicts with OpenSSL
- Rename yaSSL version of 'SSL_peek' to 'yaSSL_peek' by using a macro


extra/yassl/include/openssl/prefix_ssl.h:
  Rename yaSSL version of SSL_peek to yaSSL_peek
2006-08-21 14:51:59 +02:00
unknown
7cbb068c4e Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-kt
2006-08-21 14:41:50 +02:00