Commit graph

36101 commits

Author SHA1 Message Date
unknown
33855978d4 rules:
Protect the control file from running ./configure again


debian/rules:
  Protect the control file from running ./configure again
2007-04-19 23:43:57 +02:00
unknown
0732ad9a3d Bug #27964: pthread_key_create doesn't set errno, so don't report \
errno

Vasil Dimov (at Oracle) noted that pthread_key_create() does not
set errno, so if it fails then we return the wrong error code.

Instead, capture the return value, which is the real error value, 
and instead report that.


mysys/my_thr_init.c:
  pthread functions don't set the global errno, which should be
  obvious.
2007-04-19 17:07:11 -04:00
unknown
506ef8f2a0 control.in:
Fixed branding problem.
Many files:
  Fixed branding problem
changelog:
  Upgraded to 5.0.42
defs.mk.in:
  Fixed branding and variable persiting problem.


debian/changelog:
  Upgraded to 5.0.42
debian/control.in:
  Fixed branding problem.
debian/defs.mk.in:
  Fixed branding and variable persiting problem.
debian/mysql-client-BASE.files.in:
  Fixed branding problem
debian/mysql-client-BASE.lintian-overrides.in:
  Fixed branding problem
debian/mysql-server-BASE.config.in:
  Fixed branding problem
debian/mysql-server-BASE.files.in:
  Fixed branding problem
debian/mysql-server-BASE.lintian-overrides.in:
  Fixed branding problem
debian/mysql-server-BASE.postinst.in:
  Fixed branding problem
debian/mysql-server-BASE.postrm.in:
  Fixed branding problem
debian/mysql-server-BASE.templates.in:
  Fixed branding problem
debian/rules:
  Fixed branding problem
debian/source.lintian-overrides.in:
  Fixed branding problem
debian/po/POTFILES.in.in:
  Fixed branding problem
2007-04-19 23:07:09 +02:00
unknown
f4d6b5de91 innodb_mysql.test, innodb_mysql.result:
Add test case for Bug #27210: INNODB ON DUPLICATE KEY UPDATE


mysql-test/r/innodb_mysql.result:
  Add test case for Bug #27210: INNODB ON DUPLICATE KEY UPDATE
mysql-test/t/innodb_mysql.test:
  Add test case for Bug #27210: INNODB ON DUPLICATE KEY UPDATE
2007-04-19 22:38:12 +02:00
unknown
45face8fb4 Add replace for varying errno 2007-04-19 21:35:10 +02:00
unknown
36cd228af1 mysql_upgrade portability fixes
client/mysql_upgrade.c:
  Add defines for WEXITSTATUS
  Pass arguments on command line instead of --defaults-file=<temp file>
mysql-test/r/mysql_upgrade.result:
  When testing that mysql_upgrade detect if mysqlcheck fails, use an option that
  is used on all platforms.
mysql-test/t/mysql_upgrade.test:
  When testing that mysql_upgrade detect if mysqlcheck fails, use an option that
  is used on all platforms.
scripts/comp_sql.c:
  Some compilers have a max string length, insert a newline at
  every 512th char in long strings
2007-04-19 21:30:46 +02:00
unknown
ffd062f7c7 mysql_upgrade depends on GenFixPrivs 2007-04-19 18:32:55 +02:00
unknown
dea53d619b Build zlib before extra since extra/comp_err uses zlib 2007-04-19 17:01:19 +02:00
unknown
4fff310ecf mysql_upgrade win fixes
client/mysql_upgrade.c:
  Windows fix
scripts/CMakeLists.txt:
  Fix problems with CMakeList causing build to fail
scripts/comp_sql.c:
  Improve comp_sql.c to generate output file with shorter strings
2007-04-19 17:00:29 +02:00
unknown
5b0ec8709a Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27530-5.0-opt
2007-04-19 15:07:03 +03:00
unknown
09db497642 Bug#27499 DROP TABLE race with SHOW TABLE STATUS
They can drop table after table names list creation and before table opening.
We open non existing table and get ER_NO_SUCH_TABLE error.
In this case we do not store the record into I_S table and clear error.


sql/sql_show.cc:
  Hide error for not existing table
2007-04-19 16:49:21 +05:00
unknown
0a3533ff57 Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b26851/b26851.5.0
2007-04-19 15:02:36 +05:00
unknown
5198d0b4a8 Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b22824/my50-b22824


sql/item_cmpfunc.cc:
  Auto merged
mysql-test/r/strict.result:
  merging
mysql-test/t/strict.test:
  merging
2007-04-19 12:32:38 +05:00
unknown
30f3f3a037 Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b26851/b26851.5.0


client/mysql.cc:
  Auto merged
2007-04-19 11:45:26 +05:00
unknown
39754b2423 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  siva.hindu.god:/home/tsmith/m/inno/apr18/50
2007-04-18 20:03:47 -06:00
unknown
726d27ee37 Apply innodb-5.0-ss1405 snapshot
NULL MERGE: this ChangeSet will be null merged into mysql-5.1

Fixes:

- Bug #26662: mysqld assertion when creating temporary (InnoDB) table on a tmpfs filesystem
  Fix by not open(2)ing with O_DIRECT but rather calling fcntl(2) to set
  this flag immediately after open(2)ing. This way an error caused by
  O_DIRECT not being supported can easily be ignored.
- Bug #23313: AUTO_INCREMENT=# not reported back for InnoDB tables
- Bug #21404: AUTO_INCREMENT value reset when Adding FKEY (or ALTER?)
  Report the current value of the AUTO_INCREMENT counter to MySQL.


innobase/configure.in:
  Apply innodb-5.0-ss1405 snapshot
  
  Revision r1396:
  branches/5.0: Merge r1395 from trunk:
  
  * Fix Bug#26662 by not open(2)ing with O_DIRECT but rather calling fcntl(2)
  to set this flag immediately after open(2)ing. This way an error caused by
  O_DIRECT not being supported can easily be ignored.
  
  * Add support for skipping the OS caching on Solaris by calling directio()
  instead of fcntl().
innobase/os/os0file.c:
  Apply innodb-5.0-ss1405 snapshot
  
  Revision r1394:
  branches/5.0: Merge r1391 from trunk:
  
  Merge the bodies of os_file_handle_error() and os_file_handle_error_no_exit()
  into a generic function which is called from both os_file_handle_error() and
  os_file_handle_error_no_exit()
  
  
  Revision r1396:
  branches/5.0: Merge r1395 from trunk:
  
  * Fix Bug#26662 by not open(2)ing with O_DIRECT but rather calling fcntl(2)
  to set this flag immediately after open(2)ing. This way an error caused by
  O_DIRECT not being supported can easily be ignored.
  
  * Add support for skipping the OS caching on Solaris by calling directio()
  instead of fcntl().
mysql-test/r/innodb.result:
  Apply innodb-5.0-ss1405 snapshot
  
  Revision r1405:
  branches/5.0: Merge r1404 from trunk:
  
  Report the current value of the AUTO_INCREMENT counter to MySQL.
  (Bug #23313, Bug #21404)
  
  ha_innobase::update_create_info(): New function, to report
  the auto_increment_value.
mysql-test/t/innodb.test:
  Apply innodb-5.0-ss1405 snapshot
  
  Revision r1405:
  branches/5.0: Merge r1404 from trunk:
  
  Report the current value of the AUTO_INCREMENT counter to MySQL.
  (Bug #23313, Bug #21404)
  
  ha_innobase::update_create_info(): New function, to report
  the auto_increment_value.
sql/ha_innodb.cc:
  Apply innodb-5.0-ss1405 snapshot
  
  Revision r1405:
  branches/5.0: Merge r1404 from trunk:
  
  Report the current value of the AUTO_INCREMENT counter to MySQL.
  (Bug #23313, Bug #21404)
  
  ha_innobase::update_create_info(): New function, to report
  the auto_increment_value.
sql/ha_innodb.h:
  Apply innodb-5.0-ss1405 snapshot
  
  Revision r1405:
  branches/5.0: Merge r1404 from trunk:
  
  Report the current value of the AUTO_INCREMENT counter to MySQL.
  (Bug #23313, Bug #21404)
  
  ha_innobase::update_create_info(): New function, to report
  the auto_increment_value.
2007-04-18 19:36:22 -06:00
unknown
d429061d6b Merge qualinost.(none):/home/mtaylor/src/mysql/mysql-5.0-maint-debianv2
into  qualinost.(none):/home/mtaylor/src/mysql/mysql-5.0-maint


configure.in:
  Auto merged
2007-04-18 14:35:15 -07:00
unknown
ad4922ef67 Fixed make distcheck problem.
Makefile.am:
  Removed debian/control creation from the top level dist-hook
configure.in:
  Create debian/control from configure again
debian/rules:
  Protect debian/control from the debuild distclean run. 
  Prevent a makefile variable loop when settin MYSQL_BASE_VERSION
2007-04-18 14:34:38 -07:00
unknown
6ff11d70a8 Merge siva.hindu.god:/home/tsmith/m/bk/50
into  siva.hindu.god:/home/tsmith/m/bk/maint/50


mysys/my_alloc.c:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-04-18 14:50:32 -06:00
unknown
b4573eb4ca Add CMakeLists.txt to EXTRA_DIST 2007-04-18 19:34:33 +02:00
unknown
1f949e082d Remove the check for value_start(if any it should be *value_start) 2007-04-18 19:00:42 +02:00
unknown
87a05adf40 Use my_snprintf instead of snprintf 2007-04-18 18:40:22 +02:00
unknown
29b6119198 Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint


client/mysqltest.c:
  Auto merged
2007-04-18 18:38:20 +02:00
unknown
aa043d73bf Use my_snprintf instead of snprintf 2007-04-18 18:38:03 +02:00
unknown
1196531a46 Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint


client/mysqltest.c:
  Auto merged
2007-04-18 16:56:32 +02:00
unknown
4dc441d3c7 Add mysql builtin $MYSQL_SERVER_VERSION and some function to make
it easier to set a variable from string or int
2007-04-18 16:56:17 +02:00
unknown
1c6ed4bc74 Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint


mysql-test/lib/mtr_cases.pl:
  Auto merged
2007-04-18 16:49:10 +02:00
unknown
5c91177542 Make it possible to define how many slaves to start by
writing --slave-num=n in <testname>-master.opt file
2007-04-18 13:50:54 +02:00
unknown
5eab19d7a3 Merge pilot.blaudden:/home/msvensson/mysql/my50-m-mysql_upgrade
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint


BitKeeper/etc/ignore:
  auto-union
CMakeLists.txt:
  Auto merged
Makefile.am:
  Auto merged
include/my_global.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
2007-04-18 13:22:32 +02:00
unknown
1d24597ff9 Bug#25452 mysql_upgrade access denied
- Improve mysql_upgrade and add comments describing it's logic
 - Don't look for mysql and mysqlcheck randomly, use dir where mysql_upgrade
  was started from
 - Don't look for mysql_fix_privilege_tables.sql randomly, compile
  in the mysql_fix_privilege_tables.sql file and use that to upgrade
  the system tables of MySQL
 - Check for any unexpected error returned from runnning the mysql_fix_privilege_tables SQL
 - Fix bug#26639, bug#24248 and bug#25405


BitKeeper/etc/ignore:
  Added scripts/comp_sql scripts/mysql_fix_privilege_tables_sql.c to the ignore list
CMakeLists.txt:
  Build files also in scripts/
Makefile.am:
  Build scripts/ a little earlier to make
  the scripts/mysql_fix_privilege_tables_sql.c file available
  when client/ is built
client/mysql_upgrade.c:
  Updated version of mysql_upgrade with comments and logical functions
include/my_global.h:
  Move IF_WIN macro to my_global.h fr from sql/mysql_priv.h
mysql-test/r/mysql_upgrade.result:
  Update result
mysql-test/t/mysql_upgrade.test:
  Add more tests for different bugs related to mysql_upgrade
scripts/Makefile.am:
  Build comp_sql and mysql_fix_privilege_tables_sql.c
sql/mysql_priv.h:
  Move IF_WIN macro to my_global.h fr from sql/mysql_priv.h
scripts/CMakeLists.txt:
  New BitKeeper file ``scripts/CMakeLists.txt''
scripts/comp_sql.c:
  New BitKeeper file ``scripts/comp_sql.c''
2007-04-18 13:21:39 +02:00
unknown
e70f25c629 use define instead of value 2007-04-18 07:50:58 +02:00
unknown
ff2e7f450b Merge qualinost.(none):/home/mtaylor/src/mysql/mysql-5.0-maint-debianv2
into  qualinost.(none):/home/mtaylor/src/mysql/mysql-5.0-maint


configure.in:
  SCCS merged
2007-04-17 19:08:24 -07:00
unknown
3b2b2d888d Changed a comment to be more clear. 2007-04-17 18:20:34 -07:00
unknown
6d296e5e0a BUG#27769 - MySQL should include debian packaging dir
Replaced hardcoded sover reference with variable.
Removed references to added manpages.
---
BUG#27769 
Cleaned up some things to make building the packages go a little smoother. 
---
debian/rules really does need to be called from the source root.
---
Fixed two problems with the build caused by adding debian to the source tree
---
Left off the debian/ prefix to the Makefile filter.
---
BUG#27769 - MySQL should include debian packaging dir
Changed substitution variables to match already existing autoconf vars.
Generate debian/control and debian/defs.mk from autoconf now, since we run that
to make a source package. 
---
Corrected incorrect variable name
---
Renamed template files to have shorter names. 
---
Moved generation of debian/control to dist-hook so make clean won't eat it.
---
A few final changes to make debs build from a source tarball dist. 


debian/libmysqlclientSLIB-dev.README.Maintainer.in:
  Rename: debian/libmysqlclientMYSOVER-dev.README.Maintainer.in -> debian/libmysqlclientSLIB-dev.README.Maintainer.in
debian/libmysqlclientSLIB-dev.dirs.in:
  Rename: debian/libmysqlclientMYSOVER-dev.dirs.in -> debian/libmysqlclientSLIB-dev.dirs.in
debian/libmysqlclientSLIB-dev.docs.in:
  Rename: debian/libmysqlclientMYSOVER-dev.docs.in -> debian/libmysqlclientSLIB-dev.docs.in
debian/libmysqlclientSLIB-dev.examples.in:
  Rename: debian/libmysqlclientMYSOVER-dev.examples.in -> debian/libmysqlclientSLIB-dev.examples.in
debian/libmysqlclientSLIB-dev.files.in:
  Rename: debian/libmysqlclientMYSOVER-dev.files.in -> debian/libmysqlclientSLIB-dev.files.in
debian/libmysqlclientSLIB-dev.links.in:
  Rename: debian/libmysqlclientMYSOVER-dev.links.in -> debian/libmysqlclientSLIB-dev.links.in
debian/libmysqlclientSLIB.README.Debian.in:
  Rename: debian/libmysqlclientMYSOVER.README.Debian.in -> debian/libmysqlclientSLIB.README.Debian.in
debian/libmysqlclientSLIB.dirs.in:
  Rename: debian/libmysqlclientMYSOVER.dirs.in -> debian/libmysqlclientSLIB.dirs.in
debian/libmysqlclientSLIB.docs.in:
  Rename: debian/libmysqlclientMYSOVER.docs.in -> debian/libmysqlclientSLIB.docs.in
debian/libmysqlclientSLIB.files.in:
  Rename: debian/libmysqlclientMYSOVER.files.in -> debian/libmysqlclientSLIB.files.in
debian/libmysqlclientSLIB.postinst.in:
  Rename: debian/libmysqlclientMYSOVER.postinst.in -> debian/libmysqlclientSLIB.postinst.in
debian/libndbclientNLIB-dev.dirs.in:
  Rename: debian/libndbclientNDBSOVER-dev.dirs.in -> debian/libndbclientNLIB-dev.dirs.in
debian/libndbclientNLIB-dev.files.in:
  Rename: debian/libndbclientNDBSOVER-dev.files.in -> debian/libndbclientNLIB-dev.files.in
debian/libndbclientNLIB-dev.links.in:
  Rename: debian/libndbclientNDBSOVER-dev.links.in -> debian/libndbclientNLIB-dev.links.in
debian/libndbclientNLIB.README.Debian.in:
  Rename: debian/libndbclientNDBSOVER.README.Debian.in -> debian/libndbclientNLIB.README.Debian.in
debian/libndbclientNLIB.dirs.in:
  Rename: debian/libndbclientNDBSOVER.dirs.in -> debian/libndbclientNLIB.dirs.in
debian/libndbclientNLIB.files.in:
  Rename: debian/libndbclientNDBSOVER.files.in -> debian/libndbclientNLIB.files.in
debian/libndbclientNLIB.postinst.in:
  Rename: debian/libndbclientNDBSOVER.postinst.in -> debian/libndbclientNLIB.postinst.in
debian/mysql-client-BASE.NEWS.in:
  Rename: debian/mysql-client-MYVER.NEWS.in -> debian/mysql-client-BASE.NEWS.in
debian/mysql-client-BASE.README.Debian.in:
  Rename: debian/mysql-client-MYVER.README.Debian.in -> debian/mysql-client-BASE.README.Debian.in
debian/mysql-client-BASE.dirs.in:
  Rename: debian/mysql-client-MYVER.dirs.in -> debian/mysql-client-BASE.dirs.in
debian/mysql-client-BASE.docs.in:
  Rename: debian/mysql-client-MYVER.docs.in -> debian/mysql-client-BASE.docs.in
debian/mysql-extra-BASE.dirs.in:
  Rename: debian/mysql-extra-MYVER.dirs.in -> debian/mysql-extra-BASE.dirs.in
debian/mysql-extra-BASE.files.in:
  Rename: debian/mysql-extra-MYVER.files.in -> debian/mysql-extra-BASE.files.in
debian/mysql-management-BASE.dirs.in:
  Rename: debian/mysql-management-MYVER.dirs.in -> debian/mysql-management-BASE.dirs.in
debian/mysql-management-BASE.files.in:
  Rename: debian/mysql-management-MYVER.files.in -> debian/mysql-management-BASE.files.in
debian/mysql-management-BASE.mysql-management.init.in:
  Rename: debian/mysql-management-MYVER.mysql-management.init.in -> debian/mysql-management-BASE.mysql-management.init.in
debian/mysql-server-BASE.NEWS.in:
  Rename: debian/mysql-server-MYVER.NEWS.in -> debian/mysql-server-BASE.NEWS.in
debian/mysql-server-BASE.README.Debian.in:
  Rename: debian/mysql-server-MYVER.README.Debian.in -> debian/mysql-server-BASE.README.Debian.in
debian/mysql-server-BASE.dirs.in:
  Rename: debian/mysql-server-MYVER.dirs.in -> debian/mysql-server-BASE.dirs.in
debian/mysql-server-BASE.docs.in:
  Rename: debian/mysql-server-MYVER.docs.in -> debian/mysql-server-BASE.docs.in
debian/mysql-server-BASE.links.in:
  Rename: debian/mysql-server-MYVER.links.in -> debian/mysql-server-BASE.links.in
debian/mysql-server-BASE.logcheck.ignore.paranoid.in:
  Rename: debian/mysql-server-MYVER.logcheck.ignore.paranoid.in -> debian/mysql-server-BASE.logcheck.ignore.paranoid.in
debian/mysql-server-BASE.logcheck.ignore.server.in:
  Rename: debian/mysql-server-MYVER.logcheck.ignore.server.in -> debian/mysql-server-BASE.logcheck.ignore.server.in
debian/mysql-server-BASE.logcheck.ignore.workstation.in:
  Rename: debian/mysql-server-MYVER.logcheck.ignore.workstation.in -> debian/mysql-server-BASE.logcheck.ignore.workstation.in
debian/mysql-server-BASE.mysql-server.logrotate.in:
  Rename: debian/mysql-server-MYVER.mysql-server.logrotate.in -> debian/mysql-server-BASE.mysql-server.logrotate.in
debian/mysql-server-BASE.preinst.in:
  Rename: debian/mysql-server-MYVER.preinst.in -> debian/mysql-server-BASE.preinst.in
debian/mysql-server-BASE.prerm.in:
  Rename: debian/mysql-server-MYVER.prerm.in -> debian/mysql-server-BASE.prerm.in
debian/mysql-server-PREV.preinst.in:
  Rename: debian/mysql-server-MYOLDVER.preinst.in -> debian/mysql-server-PREV.preinst.in
debian/mysql-storage-BASE.dirs.in:
  Rename: debian/mysql-storage-MYVER.dirs.in -> debian/mysql-storage-BASE.dirs.in
debian/mysql-storage-BASE.files.in:
  Rename: debian/mysql-storage-MYVER.files.in -> debian/mysql-storage-BASE.files.in
debian/mysql-storage-BASE.mysql-storage.init.in:
  Rename: debian/mysql-storage-MYVER.mysql-storage.init.in -> debian/mysql-storage-BASE.mysql-storage.init.in
debian/mysql-test-BASE.dirs.in:
  Rename: debian/mysql-test-MYVER.dirs.in -> debian/mysql-test-BASE.dirs.in
debian/mysql-test-BASE.files.in:
  Rename: debian/mysql-test-MYVER.files.in -> debian/mysql-test-BASE.files.in
debian/mysql-tools-BASE.dirs.in:
  Rename: debian/mysql-tools-MYVER.dirs.in -> debian/mysql-tools-BASE.dirs.in
debian/mysql-tools-BASE.files.in:
  Rename: debian/mysql-tools-MYVER.files.in -> debian/mysql-tools-BASE.files.in
Makefile.am:
  Moved generation of debian/control to dist-hook so make clean won't eat it.
  ---
  Need to generate the control file in the dist dir - not the source dir.
configure.in:
  Added variables to support the generation of debian/control and debian/defs.mk from configure
  ---
  Moved generation of debian/control to dist-hook so make clean won't eat it.
debian/Makefile.am:
  Distribute the generated control file so that debuild will work naturally.
  ---
  Broke the EXTRA_DIST line into separate lines. 
  Added defs.mk.in
  ---
  Modified debian/Makefile to use the new shorter template file names.
debian/control.in:
  Changed substitution variables to match already existing autoconf vars.
debian/defs.mk.in:
  Changed substitution variables to match already existing autoconf vars.
  Made defs.mk.in generated from template. 
  Persisted variables here. 
  ---
  Corrected incorrect variable name
debian/mysql-client-BASE.files.in:
  Changed substitution variables to match already existing autoconf vars.
debian/mysql-client-BASE.lintian-overrides.in:
  Changed substitution variables to match already existing autoconf vars.
debian/mysql-server-BASE.config.in:
  Changed substitution variables to match already existing autoconf vars.
debian/mysql-server-BASE.files.in:
  Changed substitution variables to match already existing autoconf vars.
debian/mysql-server-BASE.lintian-overrides.in:
  Changed substitution variables to match already existing autoconf vars.
debian/mysql-server-BASE.postinst.in:
  Changed substitution variables to match already existing autoconf vars.
debian/mysql-server-BASE.postrm.in:
  Changed substitution variables to match already existing autoconf vars.
debian/mysql-server-BASE.templates.in:
  Changed substitution variables to match already existing autoconf vars.
debian/po/POTFILES.in.in:
  Changed substitution variables to match already existing autoconf vars.
debian/rules:
  BUG#27769 - MySQL should include debian packaging dir
  Replaced hardcoded sover reference with variable.
  Removed references to added manpages.
  ---
  Prevented the test suite from being run unless requested. 
  ---
  Needed a space between ifneq and (
  ---
  The variable substitution was stepping on the Makefile from automake. 
  ---
  Left off the debian/ prefix to the Makefile filter.
  ---
  Changed substitution variables to match already existing autoconf vars.
  ---
  Save debian/defs.mk from make distclean
debian/source.lintian-overrides.in:
  Changed substitution variables to match already existing autoconf vars.
2007-04-17 18:12:43 -07:00
unknown
579c2bff63 Fixed bug #27870. The bug that causes crashes manifests itself at some
conditions when executing an equijoin query with WHERE condition
containing a subquery predicate of the form join_attr NOT IN (SELECT ...).

To resolve a problem of the correct evaluation of the expression
  attr NOT IN (SELECT ...)
an array of guards is created to make it possible to filter out some 
predicates of the EXISTS subquery into which the original subquery 
predicate is transformed, in the cases when a takes the NULL value. 
If attr is defined as a field that cannot be NULL than such an array 
is not needed and is not created. 
However if the field a occurred also an an equijoin predicate t2.a=t1.b
and table t1 is accessed before table t2 then it may happen that the 
the EXISTS subquery is pushed down to the condition evaluated just after
table t1 has been accessed. In this case any occurrence of t2.a is 
substituted for t1.b. When t1.b takes the value of NULL an attempt is 
made to turn on the corresponding guard. This action caused a crash as 
no guard array had been created.

Now the code of Item_in_subselect::set_cond_guard_var checks that the guard
array has been created before setting a guard variable on. Otherwise the
method does nothing. It cannot results in returning a row that could be
rejected as the condition t2.a=t1.b will be checked later anyway.        


mysql-test/r/subselect3.result:
  Added a test case for bug #27870.
mysql-test/t/subselect3.test:
  Added a test case for bug #27870.
sql/item_subselect.h:
  Fixed bug #27870. The bug that causes crashes manifests itself at some
  conditions when executing an equijoin query with WHERE condition
  containing a subquery predicate of the form join_attr NOT IN (SELECT ...).
  
  Forced Item_in_subselect::set_cond_guard_var to check that the guard
  array has been created before setting a guard variable on. Otherwise the
  method does nothing.
2007-04-17 17:35:29 -07:00
unknown
0f53cc79c1 Merge siva.hindu.god:/home/tsmith/m/bk/maint/41
into  siva.hindu.god:/home/tsmith/m/bk/maint/50
2007-04-17 15:43:35 -06:00
unknown
633c1a6515 Merge siva.hindu.god:/home/tsmith/m/bk/50
into  siva.hindu.god:/home/tsmith/m/bk/maint/50


configure.in:
  Auto merged
2007-04-17 15:40:13 -06:00
unknown
4e387d6c0f Merge siva.hindu.god:/home/tsmith/m/bk/41
into  siva.hindu.god:/home/tsmith/m/bk/maint/41
2007-04-17 15:38:59 -06:00
unknown
4eecb58fd6 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-marvel


sql/ha_ndbcluster.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-04-17 15:52:03 +02:00
unknown
46e37afd06 Raise version number after cloning 5.0.40 2007-04-17 15:22:48 +02:00
unknown
50e158402b Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
Added missed DROP privilege check on the original table for RENAME TABLE command.


mysql-test/r/grant.result:
  Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
    - test result.
mysql-test/t/grant.test:
  Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
    - test case.
sql/sql_parse.cc:
  Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
    - added DROP privilege check on the original table for RENAME TABLE command.
2007-04-17 16:52:50 +05:00
unknown
851505c076 Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge
2007-04-16 21:20:38 -06:00
unknown
59250a68e2 Merge damien-katzs-computer.local:/Users/dkatz/mysql50
into  damien-katzs-computer.local:/Users/dkatz/50b
2007-04-16 13:49:17 -04:00
unknown
3b943bbebd Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-maint


BitKeeper/deleted/.del-configure.in.rej:
  Auto merged
configure.in:
  Auto merged
2007-04-16 14:51:08 +02:00
unknown
c3ce34303c Bug #27710 Creating unique index fails during single user mode
- enable indexes to be used always, if in single user, reject will happen before, and if it is kerlel doing stuff, it should always be allowed
2007-04-16 14:07:31 +02:00
unknown
be90800c9f Fix for
bug #27715: mysqld --character-sets-dir buffer overflow
bug ##26851: Mysql Client --pager Buffer Overflow

Using strmov() to copy an argument may cause overflow 
if the argument's length is bigger than the buffer:
use strmake instead.
Also, we have to encrease the error message buffer size to fit 
the longest message.


client/mysql.cc:
  Fix for 
  bug #27715: mysqld --character-sets-dir buffer overflow
  bug ##26851: Mysql Client --pager Buffer Overflow
    - use strmake() instead of strmov() to avoid buffer overflow.
mysql-test/r/mysql.result:
  Fix for 
  bug #27715: mysqld --character-sets-dir buffer overflow
  bug ##26851: Mysql Client --pager Buffer Overflow
  
    - test result.
mysql-test/t/mysql.test:
  Fix for 
  bug #27715: mysqld --character-sets-dir buffer overflow
  bug ##26851: Mysql Client --pager Buffer Overflow
  
    - test case.
mysys/charset.c:
  Fix for 
  bug #27715: mysqld --character-sets-dir buffer overflow
  bug ##26851: Mysql Client --pager Buffer Overflow
  
    - encrease error message buffer size to fit the (possible) longest message.
2007-04-16 12:28:02 +05:00
unknown
3e8252ffc6 item.cc:
Fix warning after fix for bug#27321.


sql/item.cc:
  Fix warning after fix for bug#27321.
2007-04-15 09:54:16 +04:00
unknown
6ad00742b7 subselect.test, subselect.result:
After merge fix.


mysql-test/r/subselect.result:
  After merge fix.
mysql-test/t/subselect.test:
  After merge fix.
2007-04-15 09:22:45 +04:00
unknown
9255aab5bf Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/27321-bug-5.0-opt-mysql


mysql-test/r/subselect3.result:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/subselect.result:
  Manually merged
mysql-test/t/subselect.test:
  Manually merged
mysql-test/t/subselect3.test:
  Manually merged
2007-04-15 08:41:35 +04:00
unknown
1cf3b96513 Bug#27321: Wrong subquery result in a grouping select.
The Item_outer_ref class based on the Item_direct_ref class was always used
to represent an outer field. But if the outer select is a grouping one and the 
outer field isn't under an aggregate function which is aggregated in that
outer select an Item_ref object should be used to represent such a field.
If the outer select in which the outer field is resolved isn't grouping then
the Item_field class should be used to represent such a field.
This logic also should be used for an outer field resolved through its alias
name.

Now the Item_field::fix_outer_field() uses Item_outer_field objects to
represent aliased and non-aliased outer fields for grouping outer selects
only.
Now the fix_inner_refs() function chooses which class to use to access outer
field - the Item_ref or the Item_direct_ref. An object of the chosen class
substitutes the original field in the Item_outer_ref object.
The direct_ref and the found_in_select_list fields were added to the
Item_outer_ref class.


mysql-test/t/subselect3.test:
  Some test cases were corrected after the fix for the bug#27321.
mysql-test/r/subselect3.result:
  Some test cases were corrected after the fix for the bug#27321.
mysql-test/t/subselect.test:
  Added a test case for the bug#27321: Wrong subquery result in a grouping select.
mysql-test/r/subselect.result:
  Added a test case for the bug#27321: Wrong subquery result in a grouping select.
  Some test cases were corrected after this fix.
sql/sql_union.cc:
  Bug#27321: Wrong subquery result in a grouping select.
  Cleanup of the inner_refs_list.
sql/sql_select.cc:
  Bug#27321: Wrong subquery result in a grouping select.
  Now the fix_inner_refs() function chooses which class to use to access outer
  field - the Item_ref or the Item_direct_ref. An object of the chosen class
  substitutes the original field in the Item_outer_ref object.
  A comment is corrected.
sql/item.cc:
  Bug#27321: Wrong subquery result in a grouping select.
  Now the Item_field::fix_outer_field() uses Item_outer_field objects to
  represent aliased and non-aliased outer fields for grouping outer selects
  only.
sql/item.h:
  Bug#27321: Wrong subquery result in a grouping select.
  The direct_ref and the found_in_select_list fields were added to the
  Item_outer_ref class.
2007-04-15 08:31:34 +04:00