include client_priv.h in mysqltest.c. Portability fix.
client/client_priv.h:
Include client_priv.h, for WEXITSTATUS definition.
Remove code which is already in client_priv.h.
Rearrange OPT_* enum to co-exist with options defined in client_priv.h.
client/mysqltest.c:
Move WEXITSTATUS #define from mysqltest.c to client_priv.h, as it is
useful in other clients (in particular, current mysql_upgrade.c won't
compile without it on some platforms).
Add a final OPT_MAX_CLIENT_OPTION to enum options_client, which can
be used when a maximum shared client option value is needed.
into siva.hindu.god:/home/tsmith/m/inno/apr18/51
BitKeeper/deleted/.del-configure.in:
Use local
mysql-test/r/innodb.result:
Use local
mysql-test/t/innodb.test:
Use local
mysys/my_alloc.c:
SCCS merged
sql/ha_ndbcluster.cc:
SCCS merged
sql/item.cc:
SCCS merged
sql/item_cmpfunc.cc:
SCCS merged
sql/mysqld.cc:
SCCS merged
sql/sql_delete.cc:
SCCS merged
sql/sql_select.cc:
SCCS merged
sql/sql_table.cc:
SCCS merged
storage/innobase/handler/ha_innodb.cc:
Use local
storage/innobase/handler/ha_innodb.h:
Use local
storage/innobase/os/os0file.c:
Use local
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.
mysql-test/r/innodb.result:
Applied innodb-5.1-ss1404 snapshot
Revision r1404:
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:
Applied innodb-5.1-ss1404 snapshot
Revision r1404:
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.
storage/innobase/handler/ha_innodb.cc:
Applied innodb-5.1-ss1404 snapshot
Revision r1404:
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.
storage/innobase/handler/ha_innodb.h:
Applied innodb-5.1-ss1404 snapshot
Revision r1404:
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.
storage/innobase/os/os0file.c:
Applied innodb-5.1-ss1404 snapshot
Revision r1395:
* 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().
Approved by: Heikki
Revision r1391:
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()
Approved by: Marko
storage/innobase/plug.in:
Applied innodb-5.1-ss1404 snapshot
Revision r1395:
* 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().
Approved by: Heikki
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.
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
BitKeeper/etc/ignore:
Added client/log_event_old.cc client/log_event_old.h client/rpl_record_old.cc client/rpl_record_old.h libmysqld/log_event_old.cc libmysqld/rpl_record.cc libmysqld/rpl_record_old.cc to the ignore list
mysql-test/include/show_binlog_events2.inc:
New BitKeeper file ``mysql-test/include/show_binlog_events2.inc''
into siva.hindu.god:/home/tsmith/m/bk/maint/51
client/mysql_upgrade.c:
Auto merged
client/mysqltest.c:
Auto merged
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/type_datetime.result:
Auto merged
mysys/my_alloc.c:
Auto merged
sql/field.h:
Auto merged
sql/item.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
- test case
sql/ha_ndbcluster_binlog.cc:
drop table not logged when it should
mysql-test/r/ndb_binlog_log_bin.result:
New BitKeeper file ``mysql-test/r/ndb_binlog_log_bin.result''
mysql-test/t/ndb_binlog_log_bin.test:
New BitKeeper file ``mysql-test/t/ndb_binlog_log_bin.test''
sql/ha_ndbcluster.cc:
#24667 After ALTER TABLE operation ndb_dd table becomes regular ndb, Bug #25296 Truncate table converts NDB disk based tables to in-memory tables: Check table storage before creating columns
Add "two liner" to mysqld --bootstrap that allows
wo write scripts that can be run both by mysql and mysqld --bootstrap
Remove duplicate create of MySQL system tables
mysql-test/r/mysql_upgrade.result:
Update mysql_upgrade.result for new tables in 5.1
scripts/mysql_system_tables.sql:
Use "delimiter ;;" to make it possible to run the script
both with "mysql" and "mysqld --bootstrap"
scripts/mysql_system_tables_fix.sql:
Remove duplicate stored procedure for creating slow_log
and general_log.
Remove duplicate CREATE of ndb_binlog_index.
Those are already defined in mysql_system_tables.sql
sql/sql_parse.cc:
Make "mysqld --bootstrap skip lines startig with "delimiter"
thus making it possible to write sql scripts containing
stored procedures that can be executed both with "mysql" and
"mysqld --bootstrap"
- both for data schema operations
- also make sure schema events vet the right server id when injected into the binlog
- use same mechanism to signal server_id in bug#17095, and reserve some "id's" for flagging special conditions on the event, in this case do not log it
- enable printing of server ids in the testcases to show that we cot it right
into pilot.blaudden:/home/msvensson/mysql/mysql-5.1-maint
BitKeeper/etc/ignore:
auto-union
scripts/Makefile.am:
Auto merged
sql/mysql_priv.h:
Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~1:
Auto merged
client/mysql_upgrade.c:
Use remote
mysql-test/r/mysql_upgrade.result:
Use remote
Makefile.am:
Merge "build scripts/ a little earlier"
include/my_global.h:
Merge
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
- 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''
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.
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.