Commit graph

22148 commits

Author SHA1 Message Date
unknown
79073ea792 Merge bk@192.168.21.1:mysql-4.1-opt
into  mysql.com:/home/hf/work/29494/my41-29494
2007-07-22 18:16:11 +05:00
unknown
72c6c789cf Fixed bug #29911.
This bug manifested itself for join queries with GROUP BY and HAVING clauses
whose SELECT lists contained DISTINCT. It occurred when the optimizer could
deduce that the result set would have not more than one row.
The bug could lead to wrong result sets for queries of this type because
HAVING conditions were erroneously ignored in some cases in the function
remove_duplicates.   


mysql-test/r/having.result:
  Added a test case for bug #29911.
mysql-test/t/having.test:
  Added a test case for bug #29911.
2007-07-20 22:56:19 -07:00
unknown
1a2d2117ff Bug #29494 Field packet with NULL fields crashes libmysqlclient.
unpack_fields() didn't expect NULL_LENGHT in the field's descriptions.
In this case we get NULL in the resulting string so cannot use
strdup_root to make a copy of it.
strdup_root changed with strmake_root as it's NULL-safe


sql-common/client.c:
  Bug #29494 Field packet with NULL fields crashes libmysqlclient
  
  strdup_root changed with strmake_root in unpack_fields()
2007-07-20 16:05:55 +05:00
unknown
c20595d8a0 Merge ramayana.hindu.god:/home/tsmith/m/bk/41
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/41
2007-07-17 11:32:34 -06:00
unknown
e587830c50 Merge sin.intern.azundris.com:/home/tnurnberg/27198/40-27198
into  sin.intern.azundris.com:/home/tnurnberg/27198/41-27198


sql/mysql_priv.h:
  Bug #27198: Error returns from time() are ignored
  
  manual merge
sql/sql_class.h:
  Bug #27198: Error returns from time() are ignored
  
  manual merge
2007-07-16 22:38:50 +02:00
unknown
26b8578fa9 Merge chilla.local:/home/mydev/mysql-4.1-amain
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-07-14 16:19:17 +02:00
unknown
a7e5f73abb Bug#27198: Error returns from time() are ignored
gettimeofday() can fail and presumably, so can time().
Keep an eye on it.

Since we have no data on this at all so far, we just
retry on failure (and log the event), assuming that
this is just an intermittant failure. This might of
course hang the threat until we succeed. Once we know
more about these failures, an appropriate more clever
scheme may be picked (only try so many times per thread,
etc., if that fails, return last "good" time() we got or
some such).  Using sql_print_information() to log as this
probably only occurs in high load scenarios where the debug-
trace likely is disabled (or might interfere with testing
the effect).  No test-case as this is a non-deterministic
issue.


sql/mysql_priv.h:
  Bug#27198: Error returns from time() are ignored
  
  move declarations for log.cc to before inclusion of
  sql_class.h as we now use sql_print_information() in
  there.
sql/sql_class.h:
  Bug#27198: Error returns from time() are ignored
  
  gettimeofday() can fail and presumably, so can time().
  Keep an eye on it.
2007-07-13 17:50:58 +02:00
unknown
ee7519a5d5 Merge sita.local:/Users/tsmith/m/bk/41
into  sita.local:/Users/tsmith/m/bk/maint/41
2007-07-09 01:21:22 -06:00
unknown
bde5ccf94f Merge chilla.local:/home/mydev/mysql-4.1-amain
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-07-08 19:47:08 +02:00
unknown
88419046ad Merge chilla.local:/home/mydev/mysql-4.1-ateam
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-07-08 19:46:22 +02:00
unknown
95e4b2e365 Merge gleb.loc:/home/uchum/work/bk/4.1
into  gleb.loc:/home/uchum/work/bk/4.1-opt
2007-07-08 00:15:53 +05:00
unknown
53c8af88b6 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  sita.local:/Users/tsmith/m/bk/maint/41
2007-07-06 17:54:25 -06:00
unknown
46943ab628 Merge anubis.xiphis.org:/usr/home/antony/work/mysql-4.1-engines
into  anubis.xiphis.org:/usr/home/antony/work/mysql-4.1-engines.merge
2007-07-06 08:57:18 -07:00
unknown
01554dd939 Merge chilla.local:/home/mydev/mysql-4.1-ateam
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-07-05 19:38:07 +02:00
unknown
b7bf972585 BUG#27564 - Valgrind: UDF does not cleanup correctly
Dropping an user defined function may cause server crash in
case this function is still in use by another thread.

The problem was that our hash implementation didn't update
hash link list properly when hash_update() was called.


mysys/hash.c:
  The following requirement wasn't met by hash_update() function
  causing corruption of hash links list:
  
  After a record was unlinked from the old chain during update, it
  holds random position. By the chance this position is equal to
  position for the first element in the new chain. That means
  updated record is the only record in the new chain.
2007-07-05 11:45:14 +05:00
unknown
1b827e0399 Merge maint1.mysql.com:/data/localhome/tsmith/bk/41
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/41
2007-07-04 21:22:35 +02:00
unknown
f57e4b99e7 Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  gleb.loc:/home/uchum/work/bk/4.1-opt
2007-07-03 21:48:52 +05:00
unknown
bc3e008688 loaddata.result, loaddata.test:
Test case update for bug #29294.


mysql-test/t/loaddata.test:
  Test case update for bug #29294.
mysql-test/r/loaddata.result:
  Test case update for bug #29294.
2007-07-03 21:45:20 +05:00
unknown
19a5d20ce3 sql_class.cc:
Windows compilation error fix.


sql/sql_class.cc:
  Windows compilation error fix.
2007-07-03 21:05:17 +05:00
unknown
166d3c9186 Fixed bug #29294.
The `SELECT 'r' INTO OUTFILE ... FIELDS ENCLOSED BY 'r' ' statement
encoded the 'r' string to a 4 byte string of value x'725c7272'
(sequence of 4 characters: r\rr).
The LOAD DATA statement decoded this string to a 1 byte string of
value x'0d' (ASCII Carriage Return character) instead of the original
'r' character.
The same error also happened with the FIELDS ENCLOSED BY clause
followed by special characters: 'n', 't', 'r', 'b', '0', 'Z' and 'N'.

NOTE 1: This is a result of the undocumented feature: the LOAD DATA INFILE
recognises 2-byte input sequences like \n, \t, \r and \Z in addition
to documented 2-byte sequences: \0 and \N. This feature should be
documented (here backspace character is a default ESCAPED BY character,
in the real-life example it may be any ESCAPED BY character).

NOTE 2, changed behaviour:
Now the `SELECT INTO OUTFILE' statement with the `FIELDS ENCLOSED BY'
clause followed by one of: 'n', 't', 'r', 'b', '0', 'Z' or 'N' characters
encodes this special character itself by doubling it ('r' --> 'rr'),
not by prepending it with an escape character.


sql/sql_class.h:
  Fixed bug #29294.
  The ESCAPE_CHARS macro constant is defined to enumerate
  symbolic names of espace-sequences like  '\n', '\t' etc.
  The select_export::is_ambiguous_field_sep field has been added
  to distinguish special values of the field_sep field from
  another values (see ESCAPE_CHARS).
sql/sql_class.cc:
  Fixed bug #29294.
  The select_export::send_data method has been modified to
  encode special values of the field_sep field by
  doubling of those values instead of prepending them with a
  value of the escape_char field.
  Example: The SELECT 'r' INTO OUTFILE FIELDS ENCLOSED BY 'r'
  now produces the 'rr' output string instead of x'5c72'
  (i.e. instead of sequence of 2 bytes: \ and r).
sql/sql_load.cc:
  Fixed bug #29294.
  Added commentary for the READ_INFO::unescape method.
mysql-test/t/loaddata.test:
  Updated test case for bug #29294.
mysql-test/r/loaddata.result:
  Updated test case for bug #29294.
2007-07-03 19:37:46 +05:00
unknown
7fbf6303d2 Fixed bug #29251.
Sometimes special 0 ENUM values was ALTERed to normal
empty string ENUM values.

Special 0 ENUM value has the same string representation
as normal ENUM value defined as '' (empty string).
The do_field_string function was used to convert
ENUM data at an ALTER TABLE request, but this
function doesn't care about numerical "indices" of
ENUM values, i.e. do_field_string doesn't distinguish
a special 0 value from an empty string value.

A new copy function called do_field_enum has been added to
copy special 0 ENUM values without conversion to an empty
string.


sql/field_conv.cc:
  Fixed bug #29251.
  The Copy_field::get_copy_func method has been modified to
  return a pointer to the do_field_enum function if a conversion
  between two columns of incompatible enum types is required.
  The do_field_enum function has been added for the correct
  conversion of special 0 enum values.
mysql-test/t/type_enum.test:
  Updated test case for bug #29251.
mysql-test/r/type_enum.result:
  Updated test case for bug #29251.
2007-06-27 03:41:50 +05:00
unknown
58419e9e18 Merge maint1.mysql.com:/data/localhome/tsmith/bk/41
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/41
2007-06-26 23:56:56 +02:00
unknown
be684dc0ee Merge gleb.loc:/home/uchum/work/bk/4.1
into  gleb.loc:/home/uchum/work/bk/4.1-opt
2007-06-25 14:08:53 +05:00
unknown
6c8f454a9d Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  mysql.com:/home/ram/work/b29079/b29079.4.1
2007-06-23 09:23:49 +05:00
unknown
ae587cfb0c Fix for bug #29079: Semantics of "bigint" depend on platform specifics (size, signedness of char ?)
Problem: long and long long types mess in a comparison may lead to wrong results on some platforms.
Fix: prefer [unsigned] long long as [u]longlong as it's used unconditionally in many places.


include/my_global.h:
  Fix for bug #29079: Semantics of "bigint" depend on platform specifics (size, signedness of char ?)
    - use [unsigned] long long as [u]longlong if sizeof(long long) == 8, to avoid type mess,
      as we use [unsigned] long long unconditionally in many places, for example in constants 
      with [U]LL suffix.
2007-06-22 17:12:40 +05:00
unknown
b5071a7234 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B29116-4.1-opt
2007-06-20 13:17:09 +03:00
unknown
f0d59bf49e Bug #29116: Test "rpl_change_master" returns different
counters from relay

Updated the test to return columns vertically.


mysql-test/r/rpl_change_master.result:
  Bug #29116: test updated
mysql-test/t/rpl_change_master.test:
  Bug #29116: test updated
2007-06-19 13:19:20 +03:00
unknown
9fb4bffa37 Merge bk-internal:/home/bk/mysql-4.1-maint
into  pilot.(none):/data/msvensson/mysql/mysql-4.1-maint
2007-06-19 11:30:45 +02:00
unknown
9aac6fd7bd WL#3232 mysqltest, enable --source $variables/<remaining_path_to_file>
- Add test case for this already existing feature 


mysql-test/r/mysqltest.result:
  Update result file
mysql-test/t/mysqltest.test:
  Add test case for this feature
2007-06-19 11:06:02 +02:00
unknown
c1cf6e612d Bug #29117 (init_file test crashes with embedded server)
we use net->vio in my_net_local_init, but in the my_net_init
implementation we set it after the call, so work with unspecified
net->vio value


sql/net_serv.cc:
  Bug #29117 (init_file test crashes with embedded server)
  
  as we started using net->vio in my_net_local_init, we should set
  it before the call
2007-06-19 11:13:11 +05:00
unknown
bf39809145 Merge maint1.mysql.com:/data/localhome/tsmith/bk/41
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/41


configure.in:
  Auto merged
2007-06-18 22:10:54 +02:00
unknown
890e2901c1 Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-4.1-build
into  trift2.:/MySQL/M41/push-4.1
2007-06-18 21:16:09 +02:00
unknown
6a64b6327b Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build
2007-06-18 20:18:26 +02:00
unknown
496e3aa593 don't use bk cset in commit e-mails 2007-06-18 20:13:33 +02:00
unknown
059b70d428 Merge trift2.:/MySQL/M41/clone-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-06-18 19:16:12 +02:00
unknown
4a56e7ccbf Merge trift2.:/MySQL/M41/mysql-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-06-18 11:25:26 +02:00
unknown
82f757ff0f Merge chilla.local:/home/mydev/mysql-4.1-amain
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-06-15 16:24:43 +02:00
unknown
e4c320bfea Merge trift2.:/MySQL/M41/mysql-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-06-14 21:27:33 +02:00
unknown
95d439d375 Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/d2/hf/mrg/mysql-4.1-opt
2007-06-14 16:35:46 +05:00
unknown
4f60c51169 fix.
BitKeeper/triggers/post-commit:
  send to correct address.
2007-06-13 19:23:13 +02:00
unknown
ad7d745601 Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build
2007-06-13 15:13:54 +02:00
unknown
672948f06d Merge trift2.:/MySQL/M41/tmp-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-06-13 13:35:04 +02:00
unknown
9cbd0ae4b3 sql/item_func.cc
Improved check for thread identity in the "embedded" case,
    provided by Monty.
    
    This finishes the fixes for bug#27078.


sql/item_func.cc:
  Improved check for thread identity in the "embedded" case,
  provided by Monty.
  
  This finishes the fixes for bug#27078.
2007-06-13 13:33:00 +02:00
unknown
69ff5fff3c Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1
2007-06-13 12:58:56 +02:00
unknown
d87c987533 Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-post-commit
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1
2007-06-13 11:48:07 +02:00
unknown
ff265ac842 BK changes for
https://inside.mysql.com/wiki/MySQL's_Code_Reviews_Published_Externally


BitKeeper/triggers/post-commit:
  1) Add additional method of detecting merge changesets.
  2) Remove code sending e-mail to dev-public@ or dev-bugs@.
  3) Change code sending e-mail to commits@ to send to dev-private@ if a specific file is present in the BK root directory, denoting this tree as private.
2007-06-13 11:44:58 +02:00
unknown
3aa6d3f51a Bug#29065 mysql-test-run.pl aborts execution on missing log file from test tool
- Make tesingt continue even if test log file does not exists


mysql-test/mysql-test-run.pl:
  Allow execution to continue even if no log file has been
  generated by the test tool - it's not a critical error
2007-06-13 10:35:20 +02:00
unknown
3a364d5172 Bug#28984: crasher on connect with out of range password length in \
protocol

Fixed duplicated code, same as last commit.

One could send a malformed packet that caused the server to SEGV.  In 
recent versions of the password protocol, the client tells the server 
what length the ciphertext is (almost always 20).  If that length was
large enough to overflow a signed char, then the number would jump to 
very large after being casted to unsigned int.

Instead, cast the *passwd char to uchar.


sql/sql_parse.cc:
  Additional location of signed-char casted to uint.
2007-06-12 08:47:36 -04:00
unknown
fd4f52a3f5 VC++Files/sql/mysqld.vcproj
Ensure ".pdb" and ".map" files are created for the MySQL server, in all configurations.


VC++Files/sql/mysqld.vcproj:
  Ensure ".pdb" and ".map" files are created for the MySQL server, in all configurations.
2007-06-12 10:25:24 +02:00
unknown
4c631119e2 libmysqld.def:
Corrected name of mysql_thread_{init,end} (bug#29007)


libmysqld/libmysqld.def:
  Corrected name of mysql_thread_{init,end} (bug#29007)
2007-06-12 01:33:23 +02:00