Commit graph

51316 commits

Author SHA1 Message Date
unknown
c3e41709d1 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/misc/mysql/31990/51-31990
2007-11-10 03:14:50 +01:00
unknown
e9a78d8ca5 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/misc/mysql/31990/50-31990
2007-11-10 03:12:57 +01:00
unknown
3e90d41850 Merge mysql.com:/misc/mysql/31990/50-31990
into  mysql.com:/misc/mysql/31990/51-31990


mysql-test/r/cast.result:
  Auto merged
mysql-test/t/cast.test:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
2007-11-10 03:11:18 +01:00
unknown
c244507be2 Merge ramayana.hindu.god:/home/tsmith/m/bk/build/50
into  ramayana.hindu.god:/home/tsmith/m/bk/build/51
2007-11-09 18:50:24 -07:00
unknown
7fce0f90bd Merge ramayana.hindu.god:/home/tsmith/m/bk/build/51-fix
into  ramayana.hindu.god:/home/tsmith/m/bk/build/51


include/my_sys.h:
  Auto merged
2007-11-09 18:44:49 -07:00
unknown
836398b98e Merge ramayana.hindu.god:/home/tsmith/m/bk/build/50-fix
into  ramayana.hindu.god:/home/tsmith/m/bk/build/50
2007-11-09 18:44:08 -07:00
unknown
3cbe941717 Merge ramayana.hindu.god:/home/tsmith/m/bk/build/50-fix
into  ramayana.hindu.god:/home/tsmith/m/bk/build/51-fix


include/my_sys.h:
  Auto merged
libmysql/CMakeLists.txt:
  Auto merged
mysys/default.c:
  Manual merge
2007-11-09 18:29:18 -07:00
unknown
dae9042bc6 Fix Windows build problems.
libmysql/CMakeLists.txt:
  Add new mysys/mf_arr_appstr.c source file
mysys/default.c:
  Fix some bad code that caused warnings on Windows
2007-11-09 18:27:20 -07:00
unknown
6ac3d502d7 Bug#32091: Security breach via directory changes
Problem: the table's INDEX and DATA DIR was taken
  directly from the table's first partition.
  This allowed rename attack similar to
  bug#32111 when ALTER TABLE REMOVE PARTITIONING

Solution: Silently ignore the INDEX/DATA DIR
  for the table. (Like some other storage engines
  do). 
  Partitioned tables do not support DATA/INDEX
  DIR on the table level, only on its partitions.


mysql-test/r/partition_mgm.result:
  Bug#32091: Security breach via directory changes
  test result
mysql-test/t/partition_mgm.test:
  Bug#32091: Security breach via directory changes
  test case
sql/ha_partition.cc:
  Bug#32091: Security breach via directory changes
  
  Do not use the first partition's DATA/INDEX DIR
  as the table's DATA/INDEX DIR.
  (A partitioned table do not have support for DATA/
  INDEX DIR, only its partitions do)
2007-11-09 23:22:00 +01:00
unknown
d4feaa5a82 Merge five.local.lan:/work/merge/mysql-5.1-build-32153
into  five.local.lan:/work/trees/mysql-5.1-build-src-clean
2007-11-09 22:11:52 +01:00
unknown
55499d2bf4 Fix for bug #32202: ORDER BY not working with GROUP BY
The bug is a regression introduced by the fix for bug30596. The problem
was that in cases when groups in GROUP BY correspond to only one row,
and there is ORDER BY, the GROUP BY was removed and the ORDER BY
rewritten to ORDER BY <group_by_columns> without checking if the
columns in GROUP BY and ORDER BY are compatible. This led to
incorrect ordering of the result set as it was sorted using the
GROUP BY columns. Additionaly, the code discarded ASC/DESC modifiers
from ORDER BY even if its columns were compatible with the GROUP BY
ones.

This patch fixes the regression by checking if ORDER BY columns form a
prefix of the GROUP BY ones, and rewriting ORDER BY only in that case,
preserving the ASC/DESC modifiers. That check is sufficient, since the
GROUP BY columns contain a unique index.


mysql-test/r/group_by.result:
  Added a test case for bug #32202.
mysql-test/t/group_by.test:
  Added a test case for bug #32202.
sql/sql_select.cc:
  In cases when groups in GROUP BY correspond to only one row and there
  is ORDER BY, rewrite the query to ORDER BY <group_by_columns> only if
  the columns in ORDER BY and GROUP BY are compatible, i.e. either one
  forms a prefix for another.
2007-11-09 19:12:12 +03:00
unknown
facf6305a3 Fix for
Bug#32153 Status output differs - scheduling ?
Modifications:
1. Introduce additional poll routines + adjust queries 
   as fixes for Bug#32153 and another non reported bug
   found during stability testing
2. Replace builtin poll routines by wait_condition.inc.
3. Update the comments


mysql-test/suite/funcs_1/datadict/processlist_val.inc:
  Fixes, details are in changeset comment
mysql-test/suite/funcs_1/r/a_processlist_val_no_prot.result:
  Updated results
mysql-test/suite/funcs_1/r/b_processlist_val_ps.result:
  Updated results
2007-11-09 14:08:12 +01:00
unknown
9eb28b96dd Merge capulet.net:/home/bk/mysql-5.0-rpl
into  capulet.net:/home/mats/devel/b31793-mysql-5.0-rpl


sql/log_event.cc:
  Auto merged
2007-11-09 13:45:10 +01:00
unknown
d7bc28fc72 Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  capulet.net:/home/bk/mysql-5.0-rpl
2007-11-09 13:44:23 +01:00
unknown
dc91bc74c7 BUG#31793 (log event corruption causes crash):
When running mysqlbinlog on a 64-bit machine with a corrupt relay log,
it causes mysqlbinlog to crash. In this case, the crash is caused
because a request for 18446744073709534806U bytes is issued, which
apparantly can be served on a 64-bit machine (speculatively, I assume)
but this causes the memcpy() issued later to copy the data to segfault.

The request for the number of bytes is caused by a computation
of data_len - server_vars_len where server_vars_len is corrupt in such
a sense that it is > data_len. This causes a wrap-around, with the
the data_len given above.

This patch adds a check that if server_vars_len is greater than
data_len before the substraction, and aborts reading the event in
that case marking the event as invalid. It also adds checks to see
that reading the server variables does not go outside the bounds
of the available space, giving a limited amount of integrity check.


mysql-test/r/mysqlbinlog.result:
  Result change.
mysql-test/t/mysqlbinlog.test:
  Adding test that it fails gracefully for a corrupt relay log.
sql/log_event.cc:
  Adding check that status var length does not cause wrap-around
  when performing subtraction. Extending get_str_len_and_pointer() to
  check that the string can actually be read without reading outside
  bounds. Adding checks when reading server variables from the Query-
  log_event so that the variable can really be read. Abort reading
  and mark the event as invalid otherwise.
mysql-test/std_data/corrupt-relay-bin.000624:
  BitKeeper file /home/mats/devel/b31793-mysql-5.0-rpl/mysql-test/std_data/corrupt-relay-bin.000624
2007-11-09 13:43:09 +01:00
unknown
dacae0dc30 Merge polly.(none):/home/kaa/src/opt/mysql-5.0-opt
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt


sql/sql_udf.cc:
  Auto merged
2007-11-09 13:46:14 +03:00
unknown
e3278b8c43 Merge polly.(none):/home/kaa/src/opt/bug32020/my51-bug31445
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt


sql/sql_udf.cc:
  Auto merged
2007-11-09 13:43:42 +03:00
unknown
e68540a6b8 Merge polly.(none):/home/kaa/src/opt/bug32020/my50-bug31445
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt


sql/sql_udf.cc:
  Auto merged
2007-11-09 13:41:50 +03:00
unknown
0280133ac0 Merge polly.(none):/home/kaa/src/opt/bug32020/my50-bug31445
into  polly.(none):/home/kaa/src/opt/bug32020/my51-bug31445


mysql-test/r/skip_grants.result:
  Auto merged
mysql-test/t/skip_grants.test:
  Auto merged
sql/sql_udf.cc:
  Auto merged
2007-11-09 13:31:48 +03:00
unknown
737cdfeaeb Fix for bug #32020: loading udfs while --skip-grant-tables is enabled
causes out of memory errors

The code in mysql_create_function() and mysql_drop_function() assumed
that the only reason for UDFs being uninitialized at that point is an
out-of-memory error during initialization. However, another possible 
reason for that is the --skip-grant-tables option in which case UDF 
initialization is skipped and UDFs are unavailable.

The solution is to check whether mysqld is running with
--skip-grant-tables and issue a proper error in such a case.


mysql-test/r/skip_grants.result:
  Added a test case for bug #32020.
mysql-test/t/skip_grants.test:
  Added a test case for bug #32020.
sql/sql_udf.cc:
  Issue a proper error when a user tries to CREATE/DROP a UDF 
  on a server running with the --skip-grant-tables option.
2007-11-09 13:29:43 +03:00
unknown
e7c56ceb8b BUG#31552 (Replication breaks when deleting rows from out-of-sync table without PK):
Pushing test case for bug only. Bug already fixed as a result of the patch for BUG#19958.


mysql-test/extra/rpl_tests/rpl_row_basic.test:
  Adding test to see that no error is given on slave when deleting
  rows that don't exist on table without primary key.
mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result:
  Result change.
mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result:
  Result change.
mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result:
  Result change.
2007-11-09 11:02:51 +01:00
unknown
6cc90dbb22 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  stella.local:/home2/mydev/mysql-5.1-bug22351


sql/handler.cc:
  Auto merged
2007-11-09 09:19:27 +01:00
unknown
1aa12b229e Fixing some tests to make the replication team tree green.
mysql-test/suite/rpl/r/rpl_found_rows.result:
  Result change.
mysql-test/suite/rpl/t/rpl_found_rows.test:
  Adding ORDER BY to avoid order dependencies.
  Setting BINLOG_FORMAT=MIXED; for all master clients: one were missing.
  Dropping procedures that polluted later test results.
2007-11-09 09:13:47 +01:00
unknown
dc34f9285f Bug #31170 rpl_innodb_bug28430 fails: varying timing, ports, and log use
Non-deterministic parameters  of  SHOW SLAVE STATUS are masked out
by means of using the standard include-macro.

The masked-out parameters are not needed by the logics of the original
tests. What is need to demonstre that replication is not stopped remains.



mysql-test/suite/rpl/r/rpl_innodb_bug28430.result:
  results changed
mysql-test/suite/rpl/t/rpl_innodb_bug28430.test:
  using the standard macro that takes care of masking out env specific values
2007-11-09 10:10:15 +02:00
unknown
8a9d705269 Merge five.local.lan:/work/trees/mysql-5.1-build-src-clean
into  five.local.lan:/work/merge/mysql-5.1-build
2007-11-08 22:51:30 +01:00
unknown
4b2753b8cf Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  mysql.com:/home/kent/bk/bug25205/mysql-5.0-build
2007-11-08 18:16:58 +01:00
unknown
772cbff41b Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.1-build
into  mysql.com:/home/kent/bk/bug25205/mysql-5.1-build
2007-11-08 18:12:06 +01:00
unknown
2d862620ff Merge production.mysql.com:/usersnfs/jperkin/bk/bug-30759/5.1
into  production.mysql.com:/usersnfs/jperkin/bk/build/5.1
2007-11-08 13:51:27 +01:00
unknown
0347bfcd5f Remove the --source-install option and instead make use of --srcdir
to install system tables directly from the source tree (useful for
testing purposes).  This helps clean the script up a lot and clarify
the three possible ways the script can be called (using compiled-in
paths, passing --basedir pointing to alternative install location,
or --srcdir).  Include further tidying as well.
  
This fixes bug#30759.


scripts/mysql_install_db.sh:
  Re-order the logic in printing messages at the end of the
  script, to make it clearer which paths are taken depending
  on tests or outcome of command status.  Tidy some output.
2007-11-08 13:43:40 +01:00
unknown
ec208a44d1 Merge trift2.:/MySQL/M50/push-5.0
into  trift2.:/MySQL/M51/push-5.1


include/my_sys.h:
  Auto merged
2007-11-08 13:09:16 +01:00
unknown
ea2b425e53 Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1
2007-11-08 12:02:54 +01:00
unknown
00a87190f7 Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1
2007-11-08 10:40:46 +01:00
unknown
5c6b995b7f Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-11-08 10:33:57 +01:00
unknown
4bbdd4a0dd Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/b12092-mysql-5.1-rpl
2007-11-08 10:31:51 +01:00
unknown
b56f1c16ef Merge polly.(none):/home/kaa/src/opt/mysql-5.0-opt
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt


mysql-test/r/select.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
2007-11-08 12:16:24 +03:00
unknown
e7355ef63a Merge five.local.lan:/work/trees/mysql-5.1-build-src-clean
into  five.local.lan:/work/merge/mysql-5.1-build
2007-11-08 10:14:19 +01:00
unknown
5a98d8aabf Merge polly.(none):/home/kaa/src/opt/bug32103/my51-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt


mysql-test/r/select.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
2007-11-08 12:10:36 +03:00
unknown
a5d7fa746f Merge polly.(none):/home/kaa/src/opt/mysql-4.1-opt
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
2007-11-08 12:08:22 +03:00
unknown
0075aa4960 Merge polly.(none):/home/kaa/src/opt/bug32103/my50-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt


mysql-test/r/select.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
2007-11-08 12:06:14 +03:00
unknown
6c5a2e50c4 Merge polly.(none):/home/kaa/src/opt/bug32103/my41-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-4.1-opt
2007-11-08 12:04:48 +03:00
unknown
fcddc280f1 Merge polly.(none):/home/kaa/src/opt/bug32103/my50-bug26215
into  polly.(none):/home/kaa/src/opt/bug32103/my51-bug26215


mysql-test/r/select.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
sql/item.h:
  Auto merged
2007-11-08 11:50:26 +03:00
unknown
4713575c77 Merge polly.(none):/home/kaa/src/opt/bug32103/my41-bug26215
into  polly.(none):/home/kaa/src/opt/bug32103/my50-bug26215


mysql-test/t/select.test:
  Auto merged
mysql-test/r/select.result:
  Manual merge.
sql/item.h:
  Manual merge.
2007-11-08 11:46:58 +03:00
unknown
007b16864f Fixing test case to not print warnings causing a result mismatch for rpl_trigger.
mysql-test/suite/rpl/t/rpl_trigger.test:
  Disabling warnings to prevent different result files for
  MIXED and STATEMENT mode.
2007-11-08 09:25:03 +01:00
unknown
10397af9c5 Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1
into  kindahl-laptop.dnsalias.net:/home/bk/b31611-mysql-5.1-target-5.1.22


sql/sql_binlog.cc:
  Auto merged
2007-11-08 08:54:19 +01:00
unknown
b1fc4b9e63 Bug#31990: MINUTE() and SECOND() return bogus results when used on a DATE
HOUR(), MINUTE(), ... returned spurious results when used on a DATE-cast.
This happened because DATE-cast object did not overload get_time() method
in superclass Item. The default method was inappropriate here and
misinterpreted the data.

Patch adds missing method; get_time() on DATE-casts now returns SQL-NULL
on NULL input, 0 otherwise. This coincides with the way DATE-columns
behave.


mysql-test/r/cast.result:
  Show that HOUR(), MINUTE(), ... return sensible values when used
  on DATE-cast objects, namely NULL for NULL-dates and 0 otherwise.
  Show that this coincides with how DATE-columns behave.
mysql-test/t/cast.test:
  Show that HOUR(), MINUTE(), ... return sensible values when used
  on DATE-cast objects, namely NULL for NULL-dates and 0 otherwise.
  Show that this coincides with how DATE-columns behave.
sql/item_timefunc.cc:
  Add get_time() method to DATE-cast object to overload
  the method in Item superclass that would return spurious
  results. Return zero-result; flag NULL if input was NULL.
sql/item_timefunc.h:
  Add get_time() declaration to DATE-cast object.
2007-11-08 06:08:44 +01:00
unknown
3a7e070f53 Merge ramayana.hindu.god:/home/tsmith/m/bk/build/50
into  ramayana.hindu.god:/home/tsmith/m/bk/build/b20748/50


include/my_sys.h:
  Auto merged
2007-11-07 16:26:29 -07:00
unknown
f7d4192585 Merge ramayana.hindu.god:/home/tsmith/m/bk/build/b20748/50
into  ramayana.hindu.god:/home/tsmith/m/bk/build/b20748/51


libmysql/Makefile.shared:
  Auto merged
mysys/CMakeLists.txt:
  Auto merged
mysys/Makefile.am:
  Auto merged
include/my_sys.h:
  Manual merge
mysys/default.c:
  Manual merge:
  
  - We don't support OS/2 in MySQL 5.1
  - On Unix, we search /etc/mysql/ in MySQL 5.1
2007-11-07 15:47:25 -07:00
unknown
707f42a6b9 Bug #20748: Configuration files should not be read more than once
A user could not override system-wide settings in their ~/.my.cnf,
because the DEFAULT_SYSCONFDIR was being searched last.  Also, in
some configurations (especially when the --sysconfdir compile-time
option is set to /etc or /etc/mysql), the system-wide my.cnf file
was read multiple times, causing confusion and potential problems.

Rearrange default directories to conform to the manual and logic.
Move --sysconfdir=<path> (DEFAULT_SYSCONFDIR) from the last default
directory to the middle of the list.  $HOME/.my.cnf should be last,
so the user is able to override the system-wide settings.

Change init_default_directories() to remove duplicates from the
list.


include/my_sys.h:
  Add array_append_string_unique(), from mf_arr_appstr.c
libmysql/Makefile.shared:
  Add new mf_arr_appstr.lo object
mysys/CMakeLists.txt:
  Add new mf_arr_appstr.c source.
mysys/Makefile.am:
  Add new mf_arr_appstr.c source.
mysys/default.c:
  Change order in which defaults files are added to default_directories,
  in order to conform to the manual (and to common sense).  This fixes
  a particularly bad problem on Unix, where ~/.my.cnf was read before
  /usr/local/etc/my.cnf.
  
  Also, don't add duplicate entries; move the existing entry to the
  end of the list instead.
  
  
  Here is a comparison of the order of defaults files, BEFORE and AFTER
  this patch.
  
  On Windows:
  
  BEFORE:  C:\, GetWindowsDirectory(), GetSystemWindowsDirectory(),
           $MYSQL_HOME, defaults-extra-file, INSTALLDIR
  
  AFTER:  GetSystemWindowsDirectory(), GetWindowsDirectory(), C:\,
          INSTALLDIR, $MYSQL_HOME, defaults-extra-file
  
  GetSystemWindowsDirectory() is moved before GetWindowsDirectory() because
  the former is shared by all Terminal Services users, while the latter is
  private for each user.
  
  
  On Netware (no change):
  
  BEFORE:  sys:/etc/, $MYSQL_HOME, defaults-extra-file
  
  AFTER:  sys:/etc, $MYSQL_HOME, defaults-extra-file
  
  
  On OS/2:
  
  BEFORE:  $ETC, /etc, $MYSQL_HOME, defaults-extra-file
  
  AFTER:  /etc, $ETC, $MYSQL_HOME, defaults-extra-file
  
  
  On everything else (general Unix):
  
  BEFORE:  /etc, $MYSQL_HOME, defaults-extra-file, ~/, --sysconfdir
  
  AFTER:  /etc/, --sysconfdir, $MYSQL_HOME, defaults-extra-file, ~/
  
  The BEFORE code added --sysconfdir on all systems, but only the
  Unix build system actually defined a value for it.
mysys/mf_arr_appstr.c:
  BitKeeper file /home/tsmith/m/bk/build/50-b20748/mysys/mf_arr_appstr.c
2007-11-07 15:23:50 -07:00
unknown
15a5881c88 Merge pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/p1-bug30671.3
into  pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/p1-bug30671.3.merge-5.1
2007-11-07 13:40:55 -08:00
unknown
8680f86e46 Cast away compiler warning on Windows.
storage/innobase/handler/ha_innodb.cc:
  Cast away a compiler warning; some functions return ulong or ulint for
  errors, and some use int.  Let's hope these all fit in an int.
2007-11-07 12:59:22 -07:00