mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
merge
This commit is contained in:
@ -1135,3 +1135,5 @@ plugin/handler_socket/perl-Net-HandlerSocket/Makefile.PL
|
||||
libmysqld/libmysqld_exports_file.cc
|
||||
libmysqld/gcalc_slicescan.cc
|
||||
libmysqld/gcalc_tools.cc
|
||||
sql/share/errmsg.sys
|
||||
sql/share/mysql
|
||||
|
36
debian/additions/mariadb.cnf
vendored
Normal file
36
debian/additions/mariadb.cnf
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
# MariaDB-specific config file.
|
||||
# Read by /etc/mysql/my.cnf
|
||||
|
||||
[client]
|
||||
# Default is Latin1, if you need UTF-8 set this (also in server section)
|
||||
#default-character-set = utf8
|
||||
|
||||
[mysqld]
|
||||
#
|
||||
# * Character sets
|
||||
#
|
||||
# Default is Latin1, if you need UTF-8 set all this (also in client section)
|
||||
#
|
||||
#default-character-set = utf8
|
||||
#default-collation = utf8_general_ci
|
||||
#character_set_server = utf8
|
||||
#collation_server = utf8_general_ci
|
||||
#
|
||||
# * Fine Tuning
|
||||
#
|
||||
max_connections = 100
|
||||
connect_timeout = 5
|
||||
wait_timeout = 600
|
||||
sort_buffer_size = 4M
|
||||
bulk_insert_buffer_size = 16M
|
||||
tmp_table_size = 32M
|
||||
max_heap_table_size = 32M
|
||||
#
|
||||
# * MyISAM
|
||||
#
|
||||
key_buffer_size = 128M
|
||||
table_cache = 400
|
||||
myisam_sort_buffer_size = 512M
|
||||
concurrent_insert = 2
|
||||
read_buffer_size = 2M
|
||||
read_rnd_buffer_size = 1M
|
41
debian/additions/my.cnf
vendored
41
debian/additions/my.cnf
vendored
@ -1,19 +1,5 @@
|
||||
# MariaDB database server configuration file.
|
||||
#
|
||||
# =================================================================
|
||||
# Base configuration courtesy of Open Query (http://openquery.com/)
|
||||
# For production use, case-specific preparation is still required.
|
||||
# 2009-10-07
|
||||
#
|
||||
# This is *not* an optimised config, merely a more sane baseline:
|
||||
# - InnoDB default (e.g., ACID out-of-the-box, same as on Windows)
|
||||
# - strict mode (for proper input checks, same as on Windows)
|
||||
# - various other useful settings
|
||||
# - make use of MariaDB/Percona/OurDelta enhancements/extensions
|
||||
#
|
||||
# For tuning assistance, please see http://openquery.com/services
|
||||
# =================================================================
|
||||
#
|
||||
# You can copy this file to one of:
|
||||
# - "/etc/mysql/my.cnf" to set global options,
|
||||
# - "~/.my.cnf" to set user-specific options.
|
||||
@ -32,8 +18,6 @@
|
||||
[client]
|
||||
port = 3306
|
||||
socket = /var/run/mysqld/mysqld.sock
|
||||
# Default is Latin1, if you need UTF-8 set this (also in server section)
|
||||
#default-character-set = utf8
|
||||
|
||||
# Here is entries for some specific programs
|
||||
# The following values assume you have at least 32M ram
|
||||
@ -54,46 +38,25 @@ port = 3306
|
||||
basedir = /usr
|
||||
datadir = /var/lib/mysql
|
||||
tmpdir = /tmp
|
||||
language = /usr/share/mysql/english
|
||||
lc_messages_dir = /usr/share/mysql
|
||||
lc_messages = en_US
|
||||
skip-external-locking
|
||||
#
|
||||
# * Character sets
|
||||
#
|
||||
# Default is Latin1, if you need UTF-8 set all this (also in client section)
|
||||
#
|
||||
#default-character-set = utf8
|
||||
#default-collation = utf8_general_ci
|
||||
#character_set_server = utf8
|
||||
#collation_server = utf8_general_ci
|
||||
#
|
||||
# Instead of skip-networking the default is now to listen only on
|
||||
# localhost which is more compatible and is not less secure.
|
||||
bind-address = 127.0.0.1
|
||||
#
|
||||
# * Fine Tuning
|
||||
#
|
||||
max_connections = 100
|
||||
connect_timeout = 5
|
||||
wait_timeout = 600
|
||||
max_allowed_packet = 16M
|
||||
thread_cache_size = 128
|
||||
sort_buffer_size = 4M
|
||||
bulk_insert_buffer_size = 16M
|
||||
tmp_table_size = 32M
|
||||
max_heap_table_size = 32M
|
||||
#
|
||||
# * MyISAM
|
||||
#
|
||||
# This replaces the startup script and checks MyISAM tables if needed
|
||||
# the first time they are touched. On error, make copy and try a repair.
|
||||
myisam_recover = BACKUP
|
||||
key_buffer_size = 128M
|
||||
#open-files-limit = 2000
|
||||
table_cache = 400
|
||||
myisam_sort_buffer_size = 512M
|
||||
concurrent_insert = 2
|
||||
read_buffer_size = 2M
|
||||
read_rnd_buffer_size = 1M
|
||||
#
|
||||
# * Query Cache Configuration
|
||||
#
|
||||
|
4
debian/autobake-deb.sh
vendored
4
debian/autobake-deb.sh
vendored
@ -61,9 +61,9 @@ done;
|
||||
#
|
||||
echo "Incrementing changelog and starting build scripts"
|
||||
|
||||
dch -b -D ${CODENAME} -v "${UPSTREAM}${PATCHLEVEL}-${RELEASE_NAME}${RELEASE_EXTRA:+-${RELEASE_EXTRA}}~${CODENAME}" "Automatic build with ${LOGSTRING}."
|
||||
dch -b -D ${CODENAME} -v "${UPSTREAM}${PATCHLEVEL}-${RELEASE_NAME}${RELEASE_EXTRA:+-${RELEASE_EXTRA}}1~${CODENAME}" "Automatic build with ${LOGSTRING}."
|
||||
|
||||
echo "Creating package version ${UPSTREAM}${PATCHLEVEL}-${RELEASE_NAME}${RELEASE_EXTRA:+-${RELEASE_EXTRA}}~${CODENAME} ... "
|
||||
echo "Creating package version ${UPSTREAM}${PATCHLEVEL}-${RELEASE_NAME}${RELEASE_EXTRA:+-${RELEASE_EXTRA}}1~${CODENAME} ... "
|
||||
|
||||
# Build the package.
|
||||
#
|
||||
|
25
debian/dist/Debian/control
vendored
25
debian/dist/Debian/control
vendored
@ -71,7 +71,6 @@ Package: mysql-common
|
||||
Section: database
|
||||
Architecture: all
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Provides: mariadb-common
|
||||
Description: MariaDB database common files (e.g. /etc/mysql/my.cnf)
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
@ -80,21 +79,32 @@ Description: MariaDB database common files (e.g. /etc/mysql/my.cnf)
|
||||
.
|
||||
This package includes files needed by all versions of the client library
|
||||
(e.g. /etc/mysql/my.cnf).
|
||||
|
||||
Package: mariadb-common
|
||||
Section: database
|
||||
Architecture: all
|
||||
Depends: mysql-common, ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
Due to libmysqlclient15off package depends, this package has not yet been
|
||||
renamed to mariadb-common. It does, however, already contain a new my.cnf
|
||||
file with mariadb-specific configuration options.
|
||||
This package includes files needed by all versions of the client library
|
||||
(e.g. /etc/mysql/conf.d/mariadb.cnf).
|
||||
|
||||
Package: mariadb-client-core-5.5
|
||||
Architecture: any
|
||||
Depends: mariadb-common, libmariadbclient18 (>= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}
|
||||
Provides: mysql-client-core, mysql-client-core-5.1, mysql-client-core-5.5
|
||||
Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1, mysql-client-5.5,
|
||||
Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0,
|
||||
mysql-client-5.1 (<< ${source:Version}), mysql-client-5.5 (<< ${source:Version}),
|
||||
mysql-client-core-5.1, mysql-client-core-5.5,
|
||||
mariadb-client-5.1, mariadb-client-core-5.1,
|
||||
mariadb-client-5.2, mariadb-client-core-5.2,
|
||||
mariadb-client-5.3, mariadb-client-core-5.3
|
||||
Replaces: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1, mysql-client-5.5,
|
||||
Replaces: mysql-client (<< 5.0.51), mysql-client-5.0,
|
||||
mysql-client-5.1, mysql-client-5.5,
|
||||
mysql-client-core-5.1, mysql-client-core-5.5,
|
||||
mariadb-client-5.1, mariadb-client-core-5.1,
|
||||
mariadb-client-5.2, mariadb-client-core-5.2,
|
||||
@ -176,8 +186,7 @@ Depends: mariadb-client-5.5 (>= ${source:Version}), libdbi-perl, perl (>= 5.6),
|
||||
Provides: mariadb-server, mysql-server, virtual-mysql-server
|
||||
Conflicts: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
|
||||
mysql-server-4.1, mysql-server-5.0, mysql-server-5.1,
|
||||
mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3,
|
||||
libmariadbclient16 (<< 5.3.4)
|
||||
mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3
|
||||
Replaces: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
|
||||
mysql-server-4.1, mysql-server-5.0, mysql-server-5.1,
|
||||
mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3,
|
||||
|
1
debian/dist/Debian/mariadb-server-5.5.files
vendored
1
debian/dist/Debian/mariadb-server-5.5.files
vendored
@ -15,6 +15,7 @@ usr/bin/aria_chk
|
||||
usr/bin/aria_dump_log
|
||||
usr/bin/mysql_convert_table_format
|
||||
usr/bin/mysql_install_db
|
||||
usr/bin/mysql_plugin
|
||||
usr/bin/mysql_secure_installation
|
||||
usr/bin/mysql_setpermission
|
||||
usr/bin/mysql_tzinfo_to_sql
|
||||
|
16
debian/dist/Debian/rules
vendored
16
debian/dist/Debian/rules
vendored
@ -73,12 +73,12 @@ endif
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DINSTALL_SBINDIR=sbin \
|
||||
-DMYSQL_DATADIR=/var/lib/mysql \
|
||||
-DINSTALL_INCLUDEDIR=include \
|
||||
-DINSTALL_INCLUDEDIR=include/mysql \
|
||||
-DINSTALL_INFODIR=share/info \
|
||||
-DINSTALL_MANDIR=share/man \
|
||||
\
|
||||
-DMYSQL_SERVER_SUFFIX="-$(DEBVERSION)" \
|
||||
-DWITH_COMMENT="(MariaDB - http://mariadb.com/)" \
|
||||
-DCOMPILATION_COMMENT="mariadb.org binary distribution" \
|
||||
-DSYSTEM_TYPE="debian-linux-gnu" \
|
||||
-DINSTALL_LAYOUT=DEB \
|
||||
\
|
||||
@ -86,7 +86,6 @@ endif
|
||||
-DWITH_FAST_MUTEXES=1 \
|
||||
\
|
||||
-DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \
|
||||
-DMYSQL_USER=mysql \
|
||||
\
|
||||
-DEXTRA_CHARSETS=all \
|
||||
-DWITH_LIBWRAP=1 \
|
||||
@ -170,12 +169,19 @@ install: build
|
||||
# libmysqlclient-dev: forgotten header file since 3.23.25?
|
||||
cp $(BUILDDIR)/include/my_config.h $(TMP)/usr/include/mysql/
|
||||
cp include/my_dir.h $(TMP)/usr/include/mysql/
|
||||
mv $(TMP)/usr/include/mysql/mysql/*.h $(TMP)/usr/include/mysql/
|
||||
mv $(TMP)/usr/include/mysql/mysql/psi $(TMP)/usr/include/mysql/
|
||||
|
||||
# mysql-common: We now provide our own config file.
|
||||
# can't be mariadb-common, other packages insist
|
||||
# mysql-common: We provide our own version of this package for
|
||||
# completeness, but we can use an existing version; mariadb-specic
|
||||
# stuff is in mariadb-common
|
||||
install -d $(TMP)/etc/mysql
|
||||
install -m 0644 debian/additions/my.cnf $(TMP)/etc/mysql/my.cnf
|
||||
|
||||
# mariadb-common: MariaDB-specific config stuff.
|
||||
install -d $(TMP)/etc/mysql/conf.d
|
||||
install -m 0644 debian/additions/mariadb.cnf $(TMP)/etc/mysql/conf.d/mariadb.cnf
|
||||
|
||||
# mariadb-client
|
||||
install -m 0755 debian/additions/mysqlreport $(TMP)/usr/bin/
|
||||
install -m 0755 debian/additions/innotop/innotop $(TMP)/usr/bin/
|
||||
|
25
debian/dist/Ubuntu/control
vendored
25
debian/dist/Ubuntu/control
vendored
@ -71,7 +71,6 @@ Package: mysql-common
|
||||
Section: database
|
||||
Architecture: all
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Provides: mariadb-common
|
||||
Description: MariaDB database common files (e.g. /etc/mysql/my.cnf)
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
@ -80,21 +79,32 @@ Description: MariaDB database common files (e.g. /etc/mysql/my.cnf)
|
||||
.
|
||||
This package includes files needed by all versions of the client library
|
||||
(e.g. /etc/mysql/my.cnf).
|
||||
|
||||
Package: mariadb-common
|
||||
Section: database
|
||||
Architecture: all
|
||||
Depends: mysql-common, ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
Due to libmysqlclient15off package depends, this package has not yet been
|
||||
renamed to mariadb-common. It does, however, already contain a new my.cnf
|
||||
file with mariadb-specific configuration options.
|
||||
This package includes files needed by all versions of the client library
|
||||
(e.g. /etc/mysql/conf.d/mariadb.cnf).
|
||||
|
||||
Package: mariadb-client-core-5.5
|
||||
Architecture: any
|
||||
Depends: mariadb-common, libmariadbclient18 (>= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}
|
||||
Provides: mysql-client-core, mysql-client-core-5.1, mysql-client-core-5.5
|
||||
Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1, mysql-client-5.5,
|
||||
Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0,
|
||||
mysql-client-5.1 (<< ${source:Version}), mysql-client-5.5 (<< ${source:Version}),
|
||||
mysql-client-core-5.1, mysql-client-core-5.5,
|
||||
mariadb-client-5.1, mariadb-client-core-5.1,
|
||||
mariadb-client-5.2, mariadb-client-core-5.2,
|
||||
mariadb-client-5.3, mariadb-client-core-5.3
|
||||
Replaces: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1, mysql-client-5.5,
|
||||
Replaces: mysql-client (<< 5.0.51), mysql-client-5.0,
|
||||
mysql-client-5.1, mysql-client-5.5,
|
||||
mysql-client-core-5.1, mysql-client-core-5.5,
|
||||
mariadb-client-5.1, mariadb-client-core-5.1,
|
||||
mariadb-client-5.2, mariadb-client-core-5.2,
|
||||
@ -170,8 +180,7 @@ Depends: mariadb-client-5.5 (>= ${source:Version}), libdbi-perl, perl (>= 5.6),
|
||||
Provides: mariadb-server, mysql-server, virtual-mysql-server
|
||||
Conflicts: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
|
||||
mysql-server-4.1, mysql-server-5.0, mysql-server-5.1,
|
||||
mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3,
|
||||
libmariadbclient16 (<< 5.3.4)
|
||||
mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3
|
||||
Replaces: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
|
||||
mysql-server-4.1, mysql-server-5.0, mysql-server-5.1,
|
||||
mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3,
|
||||
|
1
debian/dist/Ubuntu/mariadb-server-5.5.files
vendored
1
debian/dist/Ubuntu/mariadb-server-5.5.files
vendored
@ -17,6 +17,7 @@ usr/bin/aria_chk
|
||||
usr/bin/aria_dump_log
|
||||
usr/bin/mysql_convert_table_format
|
||||
usr/bin/mysql_install_db
|
||||
usr/bin/mysql_plugin
|
||||
usr/bin/mysql_secure_installation
|
||||
usr/bin/mysql_setpermission
|
||||
usr/bin/mysql_tzinfo_to_sql
|
||||
|
16
debian/dist/Ubuntu/rules
vendored
16
debian/dist/Ubuntu/rules
vendored
@ -73,12 +73,12 @@ endif
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DINSTALL_SBINDIR=sbin \
|
||||
-DMYSQL_DATADIR=/var/lib/mysql \
|
||||
-DINSTALL_INCLUDEDIR=include \
|
||||
-DINSTALL_INCLUDEDIR=include/mysql \
|
||||
-DINSTALL_INFODIR=share/info \
|
||||
-DINSTALL_MANDIR=share/man \
|
||||
\
|
||||
-DMYSQL_SERVER_SUFFIX="-$(DEBVERSION)" \
|
||||
-DWITH_COMMENT="(MariaDB - http://mariadb.com/)" \
|
||||
-DCOMPILATION_COMMENT="mariadb.org binary distribution" \
|
||||
-DSYSTEM_TYPE="debian-linux-gnu" \
|
||||
-DINSTALL_LAYOUT=DEB \
|
||||
\
|
||||
@ -86,7 +86,6 @@ endif
|
||||
-DWITH_FAST_MUTEXES=1 \
|
||||
\
|
||||
-DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \
|
||||
-DMYSQL_USER=mysql \
|
||||
\
|
||||
-DEXTRA_CHARSETS=all \
|
||||
-DWITH_LIBWRAP=1 \
|
||||
@ -170,12 +169,19 @@ install: build
|
||||
# libmysqlclient-dev: forgotten header file since 3.23.25?
|
||||
cp $(BUILDDIR)/include/my_config.h $(TMP)/usr/include/mysql/
|
||||
cp include/my_dir.h $(TMP)/usr/include/mysql/
|
||||
mv $(TMP)/usr/include/mysql/mysql/*.h $(TMP)/usr/include/mysql/
|
||||
mv $(TMP)/usr/include/mysql/mysql/psi $(TMP)/usr/include/mysql/
|
||||
|
||||
# mysql-common: We now provide our own config file.
|
||||
# can't be mariadb-common, other packages insist
|
||||
# mysql-common: We provide our own version of this package for
|
||||
# completeness, but we can use an existing version; mariadb-specic
|
||||
# stuff is in mariadb-common
|
||||
install -d $(TMP)/etc/mysql
|
||||
install -m 0644 debian/additions/my.cnf $(TMP)/etc/mysql/my.cnf
|
||||
|
||||
# mariadb-common: MariaDB-specific config stuff.
|
||||
install -d $(TMP)/etc/mysql/conf.d
|
||||
install -m 0644 debian/additions/mariadb.cnf $(TMP)/etc/mysql/conf.d/mariadb.cnf
|
||||
|
||||
# mariadb-client
|
||||
install -m 0755 debian/additions/mysqlreport $(TMP)/usr/bin/
|
||||
install -m 0755 debian/additions/innotop/innotop $(TMP)/usr/bin/
|
||||
|
2
debian/libmariadbclient-dev.files
vendored
2
debian/libmariadbclient-dev.files
vendored
@ -1,6 +1,8 @@
|
||||
usr/bin/mysql_config
|
||||
usr/include/mysql/*.h
|
||||
usr/include/mysql/psi/*.h
|
||||
usr/lib/libmysqlclient.a
|
||||
usr/lib/libmysqlclient_r.a
|
||||
usr/lib/libmysqlservices.a
|
||||
usr/share/aclocal/mysql.m4
|
||||
usr/share/man/man1/mysql_config.1
|
||||
|
1
debian/mariadb-common.files
vendored
Normal file
1
debian/mariadb-common.files
vendored
Normal file
@ -0,0 +1 @@
|
||||
etc/mysql/conf.d/mariadb.cnf
|
8
debian/mariadb-common.postrm
vendored
Normal file
8
debian/mariadb-common.postrm
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
if [ "$1" = "purge" ]; then
|
||||
rmdir /etc/mysql/conf.d 2>/dev/null || true
|
||||
rmdir /etc/mysql 2>/dev/null || true
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
@ -69,6 +69,7 @@ while ($_show_slave_status_items)
|
||||
--let $_show_slave_status_name= `SELECT SUBSTRING_INDEX('$_show_slave_status_items', ',', 1)`
|
||||
--let $_show_slave_status_items= `SELECT LTRIM(SUBSTRING('$_show_slave_status_items', LENGTH('$_show_slave_status_name') + 2))`
|
||||
|
||||
--replace_regex /\.[\\\/]master/master/
|
||||
--let $_show_slave_status_value= query_get_value(SHOW SLAVE STATUS, $_show_slave_status_name, 1)
|
||||
--let $_show_slave_status_value= `SELECT REPLACE("$_show_slave_status_value", '$MYSQL_TEST_DIR', 'MYSQL_TEST_DIR')`
|
||||
--echo $_show_slave_status_name = '$_show_slave_status_value'
|
||||
|
@ -14,7 +14,7 @@ while ($mysql_errno)
|
||||
# Strangely enough, the server might return "Too many connections"
|
||||
# while being shutdown, thus 1040 is an "allowed" error
|
||||
# See BUG#36228
|
||||
--error 0,1040,1053,2002,2003,2006,2013
|
||||
--error 0,1040,1053,2002,2003,2005,2006,2013
|
||||
show status;
|
||||
|
||||
dec $counter;
|
||||
|
@ -278,6 +278,7 @@ sub collect_one_suite
|
||||
{
|
||||
$suitedir= my_find_dir($::basedir,
|
||||
["share/mysql-test/suite",
|
||||
"share/mysql/mysql-test/suite",
|
||||
"mysql-test/suite",
|
||||
"mysql-test",
|
||||
# Look in storage engine specific suite dirs
|
||||
|
@ -205,7 +205,7 @@ def mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL NULL utf8 utf8_genera
|
||||
def mysql user max_connections 39 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned
|
||||
def mysql user max_questions 37 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned
|
||||
def mysql user max_updates 38 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned
|
||||
def mysql user max_user_connections 40 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned
|
||||
def mysql user max_user_connections 40 0 NO int NULL NULL 10 0 NULL NULL NULL int(11)
|
||||
def mysql user Password 3 NO char 41 41 NULL NULL NULL latin1 latin1_bin char(41)
|
||||
def mysql user plugin 41 NO char 64 64 NULL NULL NULL latin1 latin1_swedish_ci char(64)
|
||||
def mysql user Process_priv 12 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
|
||||
@ -515,6 +515,6 @@ NULL mysql time_zone_transition_type Is_DST tinyint NULL NULL NULL NULL tinyint(
|
||||
NULL mysql user max_questions int NULL NULL NULL NULL int(11) unsigned
|
||||
NULL mysql user max_updates int NULL NULL NULL NULL int(11) unsigned
|
||||
NULL mysql user max_connections int NULL NULL NULL NULL int(11) unsigned
|
||||
NULL mysql user max_user_connections int NULL NULL NULL NULL int(11) unsigned
|
||||
NULL mysql user max_user_connections int NULL NULL NULL NULL int(11)
|
||||
1.0000 mysql user plugin char 64 64 latin1 latin1_swedish_ci char(64)
|
||||
1.0000 mysql user authentication_string text 65535 65535 utf8 utf8_bin text
|
||||
|
@ -85,7 +85,7 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_
|
||||
DROP DATABASE information_schema;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
RENAME DATABASE information_schema TO info_schema;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATABASE information_schema TO info_schema' at line 1
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'DATABASE information_schema TO info_schema' at line 1
|
||||
ALTER DATABASE information_schema UPGRADE DATA DIRECTORY NAME;
|
||||
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
####################################################################################
|
||||
@ -154,7 +154,7 @@ ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'in
|
||||
DROP DATABASE information_schema;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
RENAME DATABASE information_schema TO info_schema;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATABASE information_schema TO info_schema' at line 1
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'DATABASE information_schema TO info_schema' at line 1
|
||||
ALTER DATABASE information_schema UPGRADE DATA DIRECTORY NAME;
|
||||
ERROR 42000: Access denied for user 'ddicttestuser1'@'localhost' to database 'information_schema'
|
||||
####################################################################################
|
||||
|
@ -26,10 +26,6 @@ update performance_schema.setup_instruments set enabled='YES'
|
||||
and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (performance_schema.setup_instruments)
|
||||
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; create table test.t1 (thread_id integer)
|
||||
@ -44,7 +40,3 @@ master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (performance_schema.setup_instruments)
|
||||
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
|
@ -26,10 +26,6 @@ update performance_schema.setup_instruments set enabled='YES'
|
||||
and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
|
||||
show binlog events from <binlog_start>;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (performance_schema.setup_instruments)
|
||||
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; create table test.t1 (thread_id integer)
|
||||
@ -44,7 +40,3 @@ master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
|
||||
master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Table_map # # table_id: # (performance_schema.setup_instruments)
|
||||
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
|
@ -20,12 +20,14 @@ insert into test.t1
|
||||
select thread_id from performance_schema.events_waits_current;
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Mixing self-logging and non-self-logging engines in a statement is unsafe.
|
||||
insert into test.t2
|
||||
select name from performance_schema.setup_instruments
|
||||
where name like "wait/synch/rwlock/sql/%"
|
||||
and name not in ("wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock");
|
||||
Warnings:
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses the general log, slow query log, or performance_schema table(s). This is unsafe because system tables may differ on slaves.
|
||||
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Mixing self-logging and non-self-logging engines in a statement is unsafe.
|
||||
drop table test.t1;
|
||||
drop table test.t2;
|
||||
update performance_schema.setup_instruments set enabled='YES'
|
||||
|
@ -11,7 +11,7 @@ reset slave;
|
||||
start slave;
|
||||
include/wait_for_slave_param.inc [Last_IO_Errno]
|
||||
Last_IO_Errno = '1236'
|
||||
Last_IO_Error = 'Got fatal error 1236 from master when reading data from binary log: 'binlog truncated in the middle of event; consider out of disk space on master; the last event was read from './master-bin.000001' at 316, the last byte read was read from './master-bin.000001' at 335.''
|
||||
Last_IO_Error = 'Got fatal error 1236 from master when reading data from binary log: 'binlog truncated in the middle of event; consider out of disk space on master; the last event was read from 'master-bin.000001' at 316, the last byte read was read from 'master-bin.000001' at 335.''
|
||||
reset master;
|
||||
stop slave;
|
||||
reset slave;
|
||||
|
4
mysql-test/suite/rpl/r/rpl_performance_schema.result
Normal file
4
mysql-test/suite/rpl/r/rpl_performance_schema.result
Normal file
@ -0,0 +1,4 @@
|
||||
include/master-slave.inc
|
||||
[connection master]
|
||||
UPDATE performance_schema.setup_instruments SET ENABLED="NO";
|
||||
include/rpl_end.inc
|
@ -115,7 +115,7 @@ SET GLOBAL master_verify_checksum=0;
|
||||
SET GLOBAL debug_dbug="+d,corrupt_read_log_event2";
|
||||
--connection slave
|
||||
START SLAVE IO_THREAD;
|
||||
let $slave_io_errno= 1595,1722;
|
||||
let $slave_io_errno= 1595,1722,1923;
|
||||
--source include/wait_for_slave_io_error.inc
|
||||
--connection master
|
||||
SET GLOBAL debug_dbug="-d,corrupt_read_log_event2";
|
||||
@ -127,7 +127,7 @@ SET GLOBAL master_verify_checksum=1;
|
||||
--connection slave
|
||||
SET GLOBAL debug_dbug="+d,corrupt_queue_event";
|
||||
START SLAVE IO_THREAD;
|
||||
let $slave_io_errno= 1595,1722;
|
||||
let $slave_io_errno= 1595,1722,1923;
|
||||
--source include/wait_for_slave_io_error.inc
|
||||
SET GLOBAL debug_dbug="-d,corrupt_queue_event";
|
||||
|
||||
|
10
mysql-test/suite/rpl/t/rpl_performance_schema.test
Normal file
10
mysql-test/suite/rpl/t/rpl_performance_schema.test
Normal file
@ -0,0 +1,10 @@
|
||||
--source include/master-slave.inc
|
||||
--source include/have_perfschema.inc
|
||||
--source include/have_binlog_format_mixed.inc
|
||||
|
||||
UPDATE performance_schema.setup_instruments SET ENABLED="NO";
|
||||
|
||||
--sync_slave_with_master
|
||||
--source include/rpl_end.inc
|
||||
|
||||
# End of test case
|
@ -156,7 +156,7 @@ COMMIT;
|
||||
|
||||
--echo ## Inserting rows should give error here because connection should ##
|
||||
--echo ## disconnect after using COMMIT ##
|
||||
--Error 2006,2013,ER_QUERY_INTERRUPTED
|
||||
--Error 2006,2013,ER_QUERY_INTERRUPTED,ER_CONNECTION_KILLED
|
||||
INSERT INTO t1 VALUES(4,'Record_4');
|
||||
|
||||
--echo switch to connection test_con2
|
||||
@ -171,7 +171,7 @@ INSERT INTO t1 VALUES(12,'Record_12');
|
||||
ROLLBACK;
|
||||
|
||||
--echo ## Expect a failure due to COMMIT/ROLLBACK AND RELEASE behavior ##
|
||||
--Error 2006,2013,ER_QUERY_INTERRUPTED
|
||||
--Error 2006,2013,ER_QUERY_INTERRUPTED,ER_CONNECTION_KILLED
|
||||
INSERT INTO t1 VALUES(4,'Record_4');
|
||||
|
||||
connection default;
|
||||
|
@ -14,7 +14,7 @@ SET @old_slow_query_log= @@global.slow_query_log;
|
||||
# var/log/mysql_client_test.trace
|
||||
|
||||
--exec echo "$MYSQL_CLIENT_TEST" > $MYSQLTEST_VARDIR/log/mysql_client_test.out.log 2>&1
|
||||
--exec $MYSQL_CLIENT_TEST --getopt-ll-test=25600M --plugin-dir=$MYSQLTEST_VARDIR/plugins >> $MYSQLTEST_VARDIR/log/mysql_client_test.out.log 2>&1
|
||||
--exec $MYSQL_CLIENT_TEST --getopt-ll-test=25600M >> $MYSQLTEST_VARDIR/log/mysql_client_test.out.log 2>&1
|
||||
|
||||
# End of 4.1 tests
|
||||
echo ok;
|
||||
|
@ -10127,6 +10127,10 @@ void issue_long_find_row_warning(Log_event_type type,
|
||||
|
||||
@note If the engine allows random access of the records, a combination of
|
||||
@c position() and @c rnd_pos() will be used.
|
||||
|
||||
Note that one MUST call ha_index_or_rnd_end() after this function if
|
||||
it returns 0 as we must leave the row position in the handler intact
|
||||
for any following update/delete command.
|
||||
*/
|
||||
|
||||
int Rows_log_event::find_row(const Relay_log_info *rli)
|
||||
@ -10216,7 +10220,7 @@ int Rows_log_event::find_row(const Relay_log_info *rli)
|
||||
{
|
||||
DBUG_PRINT("info",("ha_index_init returns error %d",error));
|
||||
table->file->print_error(error, MYF(0));
|
||||
goto err;
|
||||
goto end;
|
||||
}
|
||||
|
||||
/* Fill key data for the row */
|
||||
@ -10251,7 +10255,7 @@ int Rows_log_event::find_row(const Relay_log_info *rli)
|
||||
error= HA_ERR_KEY_NOT_FOUND;
|
||||
table->file->print_error(error, MYF(0));
|
||||
table->file->ha_index_end();
|
||||
goto err;
|
||||
goto end;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -10281,15 +10285,15 @@ int Rows_log_event::find_row(const Relay_log_info *rli)
|
||||
/* Unique does not have non nullable part */
|
||||
if (!(table->key_info->flags & (HA_NULL_PART_KEY)))
|
||||
{
|
||||
table->file->ha_index_end();
|
||||
goto ok;
|
||||
error= 0;
|
||||
goto end;
|
||||
}
|
||||
else
|
||||
{
|
||||
KEY *keyinfo= table->key_info;
|
||||
/*
|
||||
Unique has nullable part. We need to check if there is any field in the
|
||||
BI image that is null and part of UNNI.
|
||||
Unique has nullable part. We need to check if there is any
|
||||
field in the BI image that is null and part of UNNI.
|
||||
*/
|
||||
bool null_found= FALSE;
|
||||
for (uint i=0; i < keyinfo->key_parts && !null_found; i++)
|
||||
@ -10301,8 +10305,8 @@ int Rows_log_event::find_row(const Relay_log_info *rli)
|
||||
|
||||
if (!null_found)
|
||||
{
|
||||
table->file->ha_index_end();
|
||||
goto ok;
|
||||
error= 0;
|
||||
goto end;
|
||||
}
|
||||
|
||||
/* else fall through to index scan */
|
||||
@ -10345,14 +10349,9 @@ int Rows_log_event::find_row(const Relay_log_info *rli)
|
||||
DBUG_PRINT("info",("no record matching the given row found"));
|
||||
table->file->print_error(error, MYF(0));
|
||||
table->file->ha_index_end();
|
||||
goto err;
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Have to restart the scan to be able to fetch the next row.
|
||||
*/
|
||||
table->file->ha_index_end();
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -10360,14 +10359,12 @@ int Rows_log_event::find_row(const Relay_log_info *rli)
|
||||
/* We use this to test that the correct key is used in test cases. */
|
||||
DBUG_EXECUTE_IF("slave_crash_if_table_scan", abort(););
|
||||
|
||||
int restart_count= 0; // Number of times scanning has restarted from top
|
||||
|
||||
/* We don't have a key: search the table using rnd_next() */
|
||||
if ((error= table->file->ha_rnd_init_with_error(1)))
|
||||
{
|
||||
DBUG_PRINT("info",("error initializing table scan"
|
||||
" (ha_rnd_init returns %d)",error));
|
||||
goto err;
|
||||
goto end;
|
||||
}
|
||||
|
||||
is_table_scan= true;
|
||||
@ -10383,8 +10380,14 @@ int Rows_log_event::find_row(const Relay_log_info *rli)
|
||||
switch (error) {
|
||||
|
||||
case 0:
|
||||
DBUG_DUMP("record found", table->record[0], table->s->reclength);
|
||||
break;
|
||||
|
||||
case HA_ERR_END_OF_FILE:
|
||||
DBUG_PRINT("info", ("Record not found"));
|
||||
table->file->ha_rnd_end();
|
||||
goto end;
|
||||
|
||||
/*
|
||||
If the record was deleted, we pick the next one without doing
|
||||
any comparisons.
|
||||
@ -10392,58 +10395,28 @@ int Rows_log_event::find_row(const Relay_log_info *rli)
|
||||
case HA_ERR_RECORD_DELETED:
|
||||
goto restart_rnd_next;
|
||||
|
||||
case HA_ERR_END_OF_FILE:
|
||||
if (++restart_count < 2)
|
||||
{
|
||||
int error2;
|
||||
if ((error2= table->file->ha_rnd_init_with_error(1)))
|
||||
{
|
||||
error= error2;
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
DBUG_PRINT("info", ("Failed to get next record"
|
||||
" (rnd_next returns %d)",error));
|
||||
table->file->print_error(error, MYF(0));
|
||||
table->file->ha_rnd_end();
|
||||
goto err;
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
while (restart_count < 2 && record_compare(table));
|
||||
while (record_compare(table));
|
||||
|
||||
/*
|
||||
Note: above record_compare will take into accout all record fields
|
||||
which might be incorrect in case a partial row was given in the event
|
||||
*/
|
||||
|
||||
/*
|
||||
Have to restart the scan to be able to fetch the next row.
|
||||
*/
|
||||
if (restart_count == 2)
|
||||
DBUG_PRINT("info", ("Record not found"));
|
||||
else
|
||||
DBUG_DUMP("record found", table->record[0], table->s->reclength);
|
||||
table->file->ha_rnd_end();
|
||||
|
||||
DBUG_ASSERT(error == HA_ERR_END_OF_FILE || error == 0);
|
||||
goto err;
|
||||
}
|
||||
ok:
|
||||
|
||||
end:
|
||||
if (is_table_scan || is_index_scan)
|
||||
issue_long_find_row_warning(get_type_code(), m_table->alias.c_ptr(),
|
||||
is_index_scan, rli);
|
||||
|
||||
table->default_column_bitmaps();
|
||||
DBUG_RETURN(0);
|
||||
|
||||
err:
|
||||
if (is_table_scan || is_index_scan)
|
||||
issue_long_find_row_warning(get_type_code(), m_table->alias.c_ptr(),
|
||||
is_index_scan, rli);
|
||||
|
||||
table->default_column_bitmaps();
|
||||
DBUG_RETURN(error);
|
||||
}
|
||||
@ -10516,6 +10489,7 @@ int Delete_rows_log_event::do_exec_row(const Relay_log_info *const rli)
|
||||
Delete the record found, located in record[0]
|
||||
*/
|
||||
error= m_table->file->ha_delete_row(m_table->record[0]);
|
||||
m_table->file->ha_index_or_rnd_end();
|
||||
}
|
||||
return error;
|
||||
}
|
||||
@ -10658,7 +10632,7 @@ Update_rows_log_event::do_exec_row(const Relay_log_info *const rli)
|
||||
m_curr_row= m_curr_row_end;
|
||||
/* this also updates m_curr_row_end */
|
||||
if ((error= unpack_current_row(rli)))
|
||||
return error;
|
||||
goto err;
|
||||
|
||||
/*
|
||||
Now we have the right row to update. The old row (the one we're
|
||||
@ -10678,6 +10652,8 @@ Update_rows_log_event::do_exec_row(const Relay_log_info *const rli)
|
||||
if (error == HA_ERR_RECORD_IS_THE_SAME)
|
||||
error= 0;
|
||||
|
||||
err:
|
||||
m_table->file->ha_index_or_rnd_end();
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -2218,6 +2218,10 @@ Old_rows_log_event::write_row(const Relay_log_info *const rli,
|
||||
|
||||
@note If the engine allows random access of the records, a combination of
|
||||
@c position() and @c rnd_pos() will be used.
|
||||
|
||||
Note that one MUST call ha_index_or_rnd_end() after this function if
|
||||
it returns 0 as we must leave the row position in the handler intact
|
||||
for any following update/delete command.
|
||||
*/
|
||||
|
||||
int Old_rows_log_event::find_row(const Relay_log_info *rli)
|
||||
@ -2361,15 +2365,14 @@ int Old_rows_log_event::find_row(const Relay_log_info *rli)
|
||||
/* Unique does not have non nullable part */
|
||||
if (!(table->key_info->flags & (HA_NULL_PART_KEY)))
|
||||
{
|
||||
table->file->ha_index_end();
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
KEY *keyinfo= table->key_info;
|
||||
/*
|
||||
Unique has nullable part. We need to check if there is any field in the
|
||||
BI image that is null and part of UNNI.
|
||||
Unique has nullable part. We need to check if there is any
|
||||
field in the BI image that is null and part of UNNI.
|
||||
*/
|
||||
bool null_found= FALSE;
|
||||
for (uint i=0; i < keyinfo->key_parts && !null_found; i++)
|
||||
@ -2381,7 +2384,6 @@ int Old_rows_log_event::find_row(const Relay_log_info *rli)
|
||||
|
||||
if (!null_found)
|
||||
{
|
||||
table->file->ha_index_end();
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
@ -2424,11 +2426,6 @@ int Old_rows_log_event::find_row(const Relay_log_info *rli)
|
||||
DBUG_RETURN(error);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Have to restart the scan to be able to fetch the next row.
|
||||
*/
|
||||
table->file->ha_index_end();
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2462,8 +2459,10 @@ int Old_rows_log_event::find_row(const Relay_log_info *rli)
|
||||
if (++restart_count < 2)
|
||||
{
|
||||
int error2;
|
||||
table->file->ha_rnd_end();
|
||||
if ((error2= table->file->ha_rnd_init_with_error(1)))
|
||||
DBUG_RETURN(error2);
|
||||
goto restart_rnd_next;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -2489,6 +2488,7 @@ int Old_rows_log_event::find_row(const Relay_log_info *rli)
|
||||
DBUG_PRINT("info", ("Record not found"));
|
||||
else
|
||||
DBUG_DUMP("record found", table->record[0], table->s->reclength);
|
||||
if (error)
|
||||
table->file->ha_rnd_end();
|
||||
|
||||
DBUG_ASSERT(error == HA_ERR_END_OF_FILE || error == 0);
|
||||
@ -2738,6 +2738,7 @@ int Delete_rows_log_event_old::do_exec_row(const Relay_log_info *const rli)
|
||||
Delete the record found, located in record[0]
|
||||
*/
|
||||
error= m_table->file->ha_delete_row(m_table->record[0]);
|
||||
m_table->file->ha_index_or_rnd_end();
|
||||
}
|
||||
return error;
|
||||
}
|
||||
@ -2874,6 +2875,8 @@ Update_rows_log_event_old::do_exec_row(const Relay_log_info *const rli)
|
||||
#endif
|
||||
|
||||
error= m_table->file->ha_update_row(m_table->record[1], m_table->record[0]);
|
||||
m_table->file->ha_index_or_rnd_end();
|
||||
|
||||
if (error == HA_ERR_RECORD_IS_THE_SAME)
|
||||
error= 0;
|
||||
|
||||
|
@ -55,11 +55,9 @@ ut_dbg_assertion_failed(
|
||||
ulint line) /*!< in: line number of the assertion */
|
||||
UNIV_COLD __attribute__((nonnull(2)));
|
||||
|
||||
#if defined(__WIN__) || defined(__INTEL_COMPILER)
|
||||
# undef UT_DBG_USE_ABORT
|
||||
#elif defined(__GNUC__) && (__GNUC__ > 2)
|
||||
|
||||
#define UT_DBG_USE_ABORT
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef UT_DBG_USE_ABORT
|
||||
/** A null pointer that will be dereferenced to trigger a memory trap */
|
||||
@ -83,7 +81,11 @@ ut_dbg_stop_thread(
|
||||
|
||||
#ifdef UT_DBG_USE_ABORT
|
||||
/** Abort the execution. */
|
||||
#ifdef _WIN32
|
||||
# define UT_DBG_PANIC __debugbreak()
|
||||
#else
|
||||
# define UT_DBG_PANIC abort()
|
||||
#endif
|
||||
/** Stop threads (null operation) */
|
||||
# define UT_DBG_STOP do {} while (0)
|
||||
#else /* UT_DBG_USE_ABORT */
|
||||
|
@ -1672,18 +1672,26 @@ int ha_myisam::index_init(uint idx, bool sorted)
|
||||
|
||||
int ha_myisam::index_end()
|
||||
{
|
||||
DBUG_ENTER("ha_myisam::index_end");
|
||||
active_index=MAX_KEY;
|
||||
//pushed_idx_cond_keyno= MAX_KEY;
|
||||
mi_set_index_cond_func(file, NULL, 0);
|
||||
in_range_check_pushed_down= FALSE;
|
||||
ds_mrr.dsmrr_close();
|
||||
return 0;
|
||||
#if !defined(DBUG_OFF) && defined(SQL_SELECT_FIXED_FOR_UPDATE)
|
||||
file->update&= ~HA_STATE_AKTIV; // Forget active row
|
||||
#endif
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
int ha_myisam::rnd_end()
|
||||
{
|
||||
DBUG_ENTER("ha_myisam::rnd_end");
|
||||
ds_mrr.dsmrr_close();
|
||||
return 0;
|
||||
#if !defined(DBUG_OFF) && defined(SQL_SELECT_FIXED_FOR_UPDATE)
|
||||
file->update&= ~HA_STATE_AKTIV; // Forget active row
|
||||
#endif
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
int ha_myisam::index_read_map(uchar *buf, const uchar *key,
|
||||
@ -1785,6 +1793,7 @@ void ha_myisam::position(const uchar *record)
|
||||
{
|
||||
my_off_t row_position= mi_position(file);
|
||||
my_store_ptr(ref, ref_length, row_position);
|
||||
file->update|= HA_STATE_AKTIV; // Row can be updated
|
||||
}
|
||||
|
||||
int ha_myisam::info(uint flag)
|
||||
|
@ -70,9 +70,13 @@ public:
|
||||
Without HA_FAST_KEY_READ, the optimizer reads all columns and never
|
||||
calls ::rnd_pos(), so it is guaranteed to return only thread <n>
|
||||
records.
|
||||
We use HA_HAS_OWN_BINLOGGING to stop changes to this table to
|
||||
be logged to slaves (as enabled performance tracking on all slaves
|
||||
is probably not what anyone wants)
|
||||
*/
|
||||
return HA_NO_TRANSACTIONS | HA_REC_NOT_IN_SEQ | HA_NO_AUTO_INCREMENT |
|
||||
HA_BINLOG_ROW_CAPABLE | HA_BINLOG_STMT_CAPABLE | HA_NO_BLOBS;
|
||||
return (HA_NO_TRANSACTIONS | HA_REC_NOT_IN_SEQ | HA_NO_AUTO_INCREMENT |
|
||||
HA_BINLOG_ROW_CAPABLE | HA_BINLOG_STMT_CAPABLE |
|
||||
HA_HAS_OWN_BINLOGGING | HA_NO_BLOBS);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -266,4 +266,4 @@ IF(WITH_INNODB)
|
||||
ENDIF()
|
||||
|
||||
MYSQL_ADD_PLUGIN(xtradb ${INNOBASE_SOURCES} STORAGE_ENGINE DEFAULT
|
||||
LINK_LIBRARIES ${ZLIB_LIBRARY})
|
||||
LINK_LIBRARIES ${ZLIB_LIBRARY} RECOMPILE_FOR_EMBEDDED)
|
||||
|
@ -23,6 +23,7 @@ Smart ALTER TABLE
|
||||
|
||||
#include <unireg.h>
|
||||
#include <mysqld_error.h>
|
||||
#include <sql_class.h>
|
||||
#include <sql_lex.h> // SQLCOM_CREATE_INDEX
|
||||
#include <mysql/innodb_priv.h>
|
||||
|
||||
|
@ -55,11 +55,9 @@ ut_dbg_assertion_failed(
|
||||
ulint line) /*!< in: line number of the assertion */
|
||||
UNIV_COLD __attribute__((nonnull(2)));
|
||||
|
||||
#if defined(__WIN__) || defined(__INTEL_COMPILER)
|
||||
# undef UT_DBG_USE_ABORT
|
||||
#elif defined(__GNUC__) && (__GNUC__ > 2)
|
||||
|
||||
#define UT_DBG_USE_ABORT
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef UT_DBG_USE_ABORT
|
||||
/** A null pointer that will be dereferenced to trigger a memory trap */
|
||||
@ -83,7 +81,11 @@ ut_dbg_stop_thread(
|
||||
|
||||
#ifdef UT_DBG_USE_ABORT
|
||||
/** Abort the execution. */
|
||||
#ifdef _WIN32
|
||||
# define UT_DBG_PANIC __debugbreak()
|
||||
#else
|
||||
# define UT_DBG_PANIC abort()
|
||||
#endif
|
||||
/** Stop threads (null operation) */
|
||||
# define UT_DBG_STOP do {} while (0)
|
||||
#else /* UT_DBG_USE_ABORT */
|
||||
|
Reference in New Issue
Block a user