Initial merge result with mariaDB 10: lp:maria

This commit is contained in:
Seppo Jaakola 2013-07-13 13:01:13 +03:00
parent 58926b5e19
commit 0a9216835f
160 changed files with 9800 additions and 939 deletions

View File

@ -970,6 +970,8 @@ support-files/mysql.server
support-files/mysql.spec
support-files/mysqld_multi.server
support-files/ndb-config-2-node.ini
support-files/wsrep.cnf
support-files/wsrep_notify
TAGS
test/ndbapi/bank/bankCreator
test/ndbapi/bank/bankMakeGL
@ -1093,6 +1095,9 @@ sql/share/slovak
sql/share/spanish
sql/share/swedish
sql/share/ukrainian
scripts/wsrep_sst_mysqldump
scripts/wsrep_sst_rsync
scripts/wsrep_sst_xtrabackup
CPackConfig.cmake
CPackSourceConfig.cmake
Docs/INFO_BIN

View File

@ -215,7 +215,7 @@ all_configs="$SSL_LIBRARY --with-plugins=max --with-plugin-ndbcluster --with-emb
alpha_cflags="$check_cpu_cflags -Wa,-m$cpu_flag"
amd64_cflags="$check_cpu_cflags"
amd64_cxxflags="" # If dropping '--with-big-tables', add here "-DBIG_TABLES"
pentium_cflags="$check_cpu_cflags"
pentium_cflags="$check_cpu_cflags -m32"
pentium64_cflags="$check_cpu_cflags -m64"
ppc_cflags="$check_cpu_cflags"
sparc_cflags=""

View File

@ -148,6 +148,7 @@ INCLUDE(ctest)
INCLUDE(plugin)
INCLUDE(install_macros)
INCLUDE(mysql_add_executable)
INCLUDE(wsrep)
# Handle options
OPTION(DISABLE_SHARED
@ -187,6 +188,12 @@ MARK_AS_ADVANCED(ENABLED_LOCAL_INFILE)
OPTION(WITH_FAST_MUTEXES "Compile with fast mutexes" OFF)
MARK_AS_ADVANCED(WITH_FAST_MUTEXES)
OPTION(WITH_INNODB_DISALLOW_WRITES "InnoDB freeze writes patch from Google" ${WITH_WSREP})
IF (WITH_INNODB_DISALLOW_WRITES)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWITH_INNODB_DISALLOW_WRITES")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWITH_INNODB_DISALLOW_WRITES")
ENDIF()
# Set DBUG_OFF and other optional release-only flags for non-debug project types
FOREACH(BUILD_TYPE RELEASE RELWITHDEBINFO MINSIZEREL)
FOREACH(LANG C CXX)
@ -298,6 +305,9 @@ ADD_SUBDIRECTORY(vio)
ADD_SUBDIRECTORY(regex)
ADD_SUBDIRECTORY(mysys)
ADD_SUBDIRECTORY(libmysql)
IF(WITH_WSREP)
ADD_SUBDIRECTORY(wsrep)
ENDIF()
ADD_SUBDIRECTORY(client)
ADD_SUBDIRECTORY(extra)
ADD_SUBDIRECTORY(libservices)
@ -381,7 +391,7 @@ OPTIONAL
INSTALL(FILES README DESTINATION ${INSTALL_DOCREADMEDIR} COMPONENT Readme)
INSTALL(FILES ${CMAKE_BINARY_DIR}/Docs/INFO_SRC ${CMAKE_BINARY_DIR}/Docs/INFO_BIN DESTINATION ${INSTALL_DOCDIR})
IF(UNIX)
INSTALL(FILES Docs/INSTALL-BINARY DESTINATION ${INSTALL_DOCREADMEDIR} COMPONENT Readme)
INSTALL(FILES Docs/INSTALL-BINARY Docs/README-wsrep DESTINATION ${INSTALL_DOCREADMEDIR} COMPONENT Readme)
ENDIF()
INCLUDE(CPack)

55
README
View File

@ -1,4 +1,57 @@
This is a release of MariaDB.
This is a release of MariaDB Galera Cluster.
* https://kb.askmonty.org/en/galera/
* https://kb.askmonty.org/en/what-is-mariadb-galera-cluster/
MariaDB Galera Cluster is a synchronous multi-master cluster for MariaDB.
Features:
* Synchronous replication
* Active-active multi-master topology
* Read and write to any cluster node
* Automatic membership control, failed nodes drop from the cluster
* Automatic node joining
* True parallel replication, on row level
* Direct client connections, native MySQL look & feel
Benefits:
The above features yield several benefits for a DBMS clustering solution,
including:
* No slave lag
* No lost transactions
* Both read and write scalability
* Smaller client latencies
* Technology
MariaDB Galera Cluster uses the Galera library for the replication
implementation. To interface with Galera replication, we have enhanced MariaDB
to support the replication API definition in the wsrep API project.
* http://codership.com/products/galera_replication
* https://launchpad.net/wsrep
The implementation of the replication API in MariaDB happens in the open source
MySQL-wsrep project.
* http://www.codership.com/products/mysql-write-set-replication-project
See Also:
* About Galera Replication:
https://kb.askmonty.org/en/about-galera-replication/
* Codership: Using Galera Cluster:
http://codership.com/content/using-galera-cluster
* Galera Use Cases:
https://kb.askmonty.org/en/galera-use-cases/
* Getting Started with MariaDB Galera Cluster:
https://kb.askmonty.org/en/getting-started-with-mariadb-galera-cluster/
***************************************************************************
About MariaDB
MariaDB is designed as a drop-in replacement of MySQL(R) with more
features, new storage engines, fewer bugs, and better performance.

View File

@ -206,6 +206,16 @@ foreach my $option (@ARGV)
$cmakeargs = $cmakeargs." -DMYSQL_DATADIR=".substr($option,14);
next;
}
if ($option =~ /layout=/)
{
$cmakeargs = $cmakeargs." -DINSTALL_LAYOUT=".substr($option,7);
next;
}
if ($option =~ /with-unix-socket-path=/)
{
$cmakeargs = $cmakeargs." -DMYSQL_UNIX_ADDR=".substr($option,22);
next;
}
if ($option =~ /mysql-maintainer-mode/)
{
$cmakeargs = $cmakeargs." -DMYSQL_MAINTAINER_MODE=" .

View File

@ -23,11 +23,9 @@ SET(CPACK_COMPONENT_SHAREDLIBRARIES_GROUP "shared")
SET(CPACK_COMPONENT_COMMON_GROUP "common")
SET(CPACK_COMPONENT_COMPAT_GROUP "compat")
SET(CPACK_COMPONENTS_ALL Server ManPagesServer IniFiles Server_Scripts
SupportFiles Development ManPagesDevelopment
ManPagesTest Readme ManPagesClient Test
Common Client SharedLibraries)
SupportFiles Readme)
SET(CPACK_RPM_PACKAGE_NAME "MariaDB")
SET(CPACK_RPM_PACKAGE_NAME "MariaDB-Galera")
SET(CPACK_PACKAGE_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${VERSION}-${RPM}-${CMAKE_SYSTEM_PROCESSOR}")
SET(CPACK_RPM_PACKAGE_RELEASE 1) # FIX: add distribution name here
@ -124,32 +122,6 @@ SET(CPACK_RPM_test_PACKAGE_PROVIDES "MariaDB-test MySQL-test mysql-test")
# workaround for lots of perl dependencies added by rpmbuild
SET(CPACK_RPM_test_PACKAGE_PROVIDES "${CPACK_RPM_test_PACKAGE_PROVIDES} perl(lib::mtr_gcov.pl) perl(lib::mtr_gprof.pl) perl(lib::mtr_io.pl) perl(lib::mtr_misc.pl) perl(lib::mtr_process.pl) perl(lib::v1/mtr_cases.pl) perl(lib::v1/mtr_gcov.pl) perl(lib::v1/mtr_gprof.pl) perl(lib::v1/mtr_im.pl) perl(lib::v1/mtr_io.pl) perl(lib::v1/mtr_match.pl) perl(lib::v1/mtr_misc.pl) perl(lib::v1/mtr_process.pl) perl(lib::v1/mtr_report.pl) perl(lib::v1/mtr_stress.pl) perl(lib::v1/mtr_timer.pl) perl(lib::v1/mtr_unique.pl) perl(mtr_cases) perl(mtr_io.pl) perl(mtr_match) perl(mtr_misc.pl) perl(mtr_report) perl(mtr_results) perl(mtr_unique)")
# If we want to build build MariaDB-shared-compat,
# extract compat libraries from MariaDB-shared-5.3 rpm
FILE(GLOB compat_rpm RELATIVE ${CMAKE_SOURCE_DIR}
"${CMAKE_SOURCE_DIR}/../MariaDB-shared-5.3.*.rpm")
IF (compat_rpm)
MESSAGE("Using ${compat_rpm} to build MariaDB-compat")
INSTALL(CODE "EXECUTE_PROCESS(
COMMAND rpm2cpio ${CMAKE_SOURCE_DIR}/${compat_rpm}
COMMAND cpio --extract --make-directories */libmysqlclient*.so.* -
WORKING_DIRECTORY \$ENV{DESTDIR})
EXECUTE_PROCESS(
COMMAND chmod -R a+rX .
WORKING_DIRECTORY \$ENV{DESTDIR})"
COMPONENT Compat)
SET(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} Compat)
# RHEL6/CentOS6 install Postfix by default, and it requires
# libmysqlclient.so.16 that pulls in mysql-libs-5.1.x
# And the latter conflicts with our rpms.
# Make sure that for these distribuions all our rpms require
# MariaDB-compat, that will replace mysql-libs-5.1
IF(RPM MATCHES "(rhel|centos)6")
SET(CPACK_RPM_common_PACKAGE_REQUIRES "MariaDB-compat")
ENDIF()
ENDIF(compat_rpm)
SET(CPACK_RPM_compat_PACKAGE_REQUIRES "/bin/sh") # to mask CPACK_RPM_PACKAGE_REQUIRES
SET(CPACK_RPM_compat_PACKAGE_PROVIDES "mysql-libs = 5.3.5") # exact version doesn't matter as long as it greater than 5.1
SET(CPACK_RPM_compat_PACKAGE_OBSOLETES "mysql-libs < 5.3.5")

View File

@ -120,7 +120,7 @@ IF(NOT VERSION)
ELSEIF(MYSQL_SERVER_SUFFIX)
SET(PRODUCT_TAG "${MYSQL_SERVER_SUFFIX}") # Already has a leading dash
ELSE()
SET(PRODUCT_TAG)
SET(PRODUCT_TAG "-galera")
ENDIF()
IF("${VERSION}" MATCHES "-ndb-")

View File

@ -6,5 +6,6 @@ usr/sbin
usr/share/man/man8
usr/share/mysql
usr/share/doc/mariadb-server-10.0
usr/support-files
var/run/mysqld
var/lib/mysql-upgrade

View File

@ -190,15 +190,13 @@ install: build
# lintian overrides
mkdir -p $(TMP)/usr/share/lintian/overrides/
cp debian/mysql-common.lintian-overrides $(TMP)/usr/share/lintian/overrides/mysql-common
cp debian/mariadb-server-10.0.lintian-overrides $(TMP)/usr/share/lintian/overrides/mariadb-server-10.0
cp debian/mariadb-client-10.0.lintian-overrides $(TMP)/usr/share/lintian/overrides/mariadb-client-10.0
cp debian/mariadb-galera-server-10.0.lintian-overrides $(TMP)/usr/share/lintian/overrides/mariadb-server-10.0
# For 5.0 -> 10.0 transition
d=$(TMP)/usr/share/mysql-common/internal-use-only/; \
mkdir -p $$d; \
cp debian/mariadb-server-10.0.mysql.init $$d/_etc_init.d_mysql; \
cp debian/mariadb-server-10.0.mysql-server.logrotate $$d/_etc_logrotate.d_mysql-server; \
cp debian/mariadb-galera-server-10.0.mysql.init $$d/_etc_init.d_mysql; \
cp debian/mariadb-galera-server-10.0.mysql-server.logrotate $$d/_etc_logrotate.d_mysql-server; \
cp debian/additions/debian-start $$d/_etc_mysql_debian-start;
dh_movefiles

View File

@ -6,5 +6,6 @@ usr/sbin
usr/share/man/man8
usr/share/mysql
usr/share/doc/mariadb-server-10.0
usr/support-files
var/run/mysqld
var/lib/mysql-upgrade

View File

@ -190,15 +190,13 @@ install: build
# lintian overrides
mkdir -p $(TMP)/usr/share/lintian/overrides/
cp debian/mysql-common.lintian-overrides $(TMP)/usr/share/lintian/overrides/mysql-common
cp debian/mariadb-server-10.0.lintian-overrides $(TMP)/usr/share/lintian/overrides/mariadb-server-10.0
cp debian/mariadb-client-10.0.lintian-overrides $(TMP)/usr/share/lintian/overrides/mariadb-client-10.0
cp debian/mariadb-galera-server-10.0.lintian-overrides $(TMP)/usr/share/lintian/overrides/mariadb-server-10.0
# For 5.0 -> 10.0 transition
d=$(TMP)/usr/share/mysql-common/internal-use-only/; \
mkdir -p $$d; \
cp debian/mariadb-server-10.0.mysql.init $$d/_etc_init.d_mysql; \
cp debian/mariadb-server-10.0.mysql-server.logrotate $$d/_etc_logrotate.d_mysql-server; \
cp debian/mariadb-galera-server-10.0.mysql.init $$d/_etc_init.d_mysql; \
cp debian/mariadb-galera-server-10.0.mysql-server.logrotate $$d/_etc_logrotate.d_mysql-server; \
cp debian/additions/debian-start $$d/_etc_mysql_debian-start;
# install AppArmor profile

View File

@ -1,4 +0,0 @@
The examples directory includes files that might be needed by some
developers:
- header files not installed by default
- the example file udf_example.c

View File

@ -1,2 +0,0 @@
usr/include/
usr/lib/

View File

@ -1 +0,0 @@
sql/udf_example.c

View File

@ -1,7 +0,0 @@
usr/bin/mysql_config
usr/include/mysql
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

View File

@ -1,2 +0,0 @@
usr/lib/libmysqlclient.so.18 usr/lib/libmysqlclient.so
usr/lib/libmysqlclient_r.so.18 usr/lib/libmysqlclient_r.so

View File

@ -1 +0,0 @@
usr/lib/

View File

@ -1 +0,0 @@
usr/lib/libmysqlclient*.so.*

View File

@ -1,12 +0,0 @@
#!/bin/bash -e
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
# vim: ts=4

View File

@ -1,2 +0,0 @@
usr/lib/mysql/*.a
usr/lib/mysql/*.la

View File

@ -1,4 +0,0 @@
FAQ:
Q: My <tab> completition is gone, why?
A: You have "no-auto-rehash" in the "[mysql]" section of /etc/mysql/my.cnf!

View File

@ -1,3 +0,0 @@
usr/bin/
usr/share/man/man1/
usr/share/perl5/

View File

@ -1,2 +0,0 @@
debian/additions/innotop/changelog.innotop
README

View File

@ -1,31 +0,0 @@
usr/bin/innochecksum
usr/bin/innotop
usr/bin/mysqlaccess
usr/bin/mysqladmin
usr/bin/mysqlbug
usr/bin/mysqldump
usr/bin/mysqldumpslow
usr/bin/mysql_find_rows
usr/bin/mysql_fix_extensions
usr/bin/mysqlimport
usr/bin/mysqlreport
usr/bin/mysqlshow
usr/bin/mysqlslap
usr/bin/mysql_waitpid
usr/share/lintian/overrides/mariadb-client-10.0
usr/share/man/man1/innotop.1
usr/share/man/man1/mysqlaccess.1
usr/share/man/man1/mysqladmin.1
usr/share/man/man1/mysqlbug.1
usr/share/man/man1/mysqldump.1
usr/share/man/man1/mysqldumpslow.1
usr/share/man/man1/mysql_find_rows.1
usr/share/man/man1/mysql_fix_extensions.1
usr/share/man/man1/mysqlimport.1
usr/share/man/man1/mysqlman.1
usr/share/man/man1/mysqlreport.1
usr/share/man/man1/mysqlshow.1
usr/share/man/man1/mysqlslap.1
usr/share/man/man1/mysql_tableinfo.1
usr/share/man/man1/mysql_waitpid.1
usr/share/man/man8/mysqlmanager.8

View File

@ -1,3 +0,0 @@
usr/bin/mysqlcheck usr/bin/mysqlrepair
usr/bin/mysqlcheck usr/bin/mysqlanalyze
usr/bin/mysqlcheck usr/bin/mysqloptimize

View File

@ -1,3 +0,0 @@
mariadb-client-5.3: package-has-a-duplicate-relation
mariadb-client-5.3: wrong-name-for-upstream-changelog usr/share/doc/mariadb-client-5.3/changelog.innotop.gz
mariadb-client-5.3: pkg-not-in-package-test innotop

View File

@ -1,3 +0,0 @@
# According to /usr/share/menu/ policy 1.4, not /usr/share/doc/debian-policy/
?package(innotop):needs="text" section="Applications/Data Management"\
title="innotop" command="/usr/bin/innotop"

View File

@ -1,4 +0,0 @@
usr/bin/mysql
usr/bin/mysqlcheck
usr/share/man/man1/mysql.1
usr/share/man/man1/mysqlcheck.1

View File

@ -1 +0,0 @@
etc/mysql/conf.d/mariadb.cnf

View File

@ -1,8 +0,0 @@
#!/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#

View File

@ -1,5 +1,5 @@
mariadb-server-10.0: command-with-path-in-maintainer-script postinst
mariadb-server-10.0: possible-bashism-in-maintainer-script postinst:81 'p{("a".."z","A".."Z",0..9)[int(rand(62))]}'
mariadb-server-10.0: possible-bashism-in-maintainer-script preinst:33 '${cmd/ */}'
mariadb-server-10.0: statically-linked-binary ./usr/bin/mysql_tzinfo_to_sql
mariadb-server-10.0: statically-linked-binary ./usr/sbin/mysqld
mariadb-galera-server-10.0: command-with-path-in-maintainer-script postinst
mariadb-galera-server-10.0: possible-bashism-in-maintainer-script postinst:81 'p{("a".."z","A".."Z",0..9)[int(rand(62))]}'
mariadb-galera-server-10.0: possible-bashism-in-maintainer-script preinst:33 '${cmd/ */}'
mariadb-galera-server-10.0: statically-linked-binary ./usr/bin/mysql_tzinfo_to_sql
mariadb-galera-server-10.0: statically-linked-binary ./usr/sbin/mysqld

View File

@ -1,26 +0,0 @@
usr/sbin/mysqld
usr/share/man/man8/mysqld.8
usr/share/mysql/charsets
usr/share/mysql/czech
usr/share/mysql/danish
usr/share/mysql/dutch
usr/share/mysql/english
usr/share/mysql/estonian
usr/share/mysql/french
usr/share/mysql/german
usr/share/mysql/greek
usr/share/mysql/hungarian
usr/share/mysql/italian
usr/share/mysql/japanese
usr/share/mysql/korean
usr/share/mysql/norwegian
usr/share/mysql/norwegian-ny
usr/share/mysql/polish
usr/share/mysql/portuguese
usr/share/mysql/romanian
usr/share/mysql/russian
usr/share/mysql/serbian
usr/share/mysql/slovak
usr/share/mysql/spanish
usr/share/mysql/swedish
usr/share/mysql/ukrainian

View File

@ -1,98 +0,0 @@
usr/bin
usr/share/man/man1
usr/share/mysql/mysql-test
usr/share/mysql/mysql-test/extra
usr/share/mysql/mysql-test/extra/binlog_tests
usr/share/mysql/mysql-test/extra/rpl_tests
usr/share/mysql/mysql-test/lib
usr/share/mysql/mysql-test/lib/My
usr/share/mysql/mysql-test/lib/My/SafeProcess
usr/share/mysql/mysql-test/lib/My/File
usr/share/mysql/mysql-test/lib/v1
usr/share/mysql/mysql-test/lib/v1/My
usr/share/mysql/mysql-test/collections
usr/share/mysql/mysql-test/t
usr/share/mysql/mysql-test/r
usr/share/mysql/mysql-test/include
usr/share/mysql/mysql-test/suite
usr/share/mysql/mysql-test/suite/parts
usr/share/mysql/mysql-test/suite/parts/inc
usr/share/mysql/mysql-test/suite/parts/t
usr/share/mysql/mysql-test/suite/parts/r
usr/share/mysql/mysql-test/suite/rpl_ndb
usr/share/mysql/mysql-test/suite/rpl_ndb/t
usr/share/mysql/mysql-test/suite/rpl_ndb/r
usr/share/mysql/mysql-test/suite/bugs
usr/share/mysql/mysql-test/suite/bugs/t
usr/share/mysql/mysql-test/suite/bugs/r
usr/share/mysql/mysql-test/suite/bugs/data
usr/share/mysql/mysql-test/suite/rpl
usr/share/mysql/mysql-test/suite/rpl/t
usr/share/mysql/mysql-test/suite/rpl/r
usr/share/mysql/mysql-test/suite/rpl/include
usr/share/mysql/mysql-test/suite/innodb
usr/share/mysql/mysql-test/suite/innodb/t
usr/share/mysql/mysql-test/suite/innodb/r
usr/share/mysql/mysql-test/suite/innodb/include
usr/share/mysql/mysql-test/suite/manual
usr/share/mysql/mysql-test/suite/manual/t
usr/share/mysql/mysql-test/suite/manual/r
usr/share/mysql/mysql-test/suite/stress
usr/share/mysql/mysql-test/suite/stress/t
usr/share/mysql/mysql-test/suite/stress/r
usr/share/mysql/mysql-test/suite/stress/include
usr/share/mysql/mysql-test/suite/jp
usr/share/mysql/mysql-test/suite/jp/t
usr/share/mysql/mysql-test/suite/jp/r
usr/share/mysql/mysql-test/suite/jp/include
usr/share/mysql/mysql-test/suite/jp/std_data
usr/share/mysql/mysql-test/suite/ndb
usr/share/mysql/mysql-test/suite/ndb/t
usr/share/mysql/mysql-test/suite/ndb/r
usr/share/mysql/mysql-test/suite/maria
usr/share/mysql/mysql-test/suite/maria/t
usr/share/mysql/mysql-test/suite/maria/r
usr/share/mysql/mysql-test/suite/funcs_2
usr/share/mysql/mysql-test/suite/funcs_2/lib
usr/share/mysql/mysql-test/suite/funcs_2/t
usr/share/mysql/mysql-test/suite/funcs_2/charset
usr/share/mysql/mysql-test/suite/funcs_2/r
usr/share/mysql/mysql-test/suite/funcs_2/include
usr/share/mysql/mysql-test/suite/funcs_2/data
usr/share/mysql/mysql-test/suite/binlog
usr/share/mysql/mysql-test/suite/binlog/t
usr/share/mysql/mysql-test/suite/binlog/r
usr/share/mysql/mysql-test/suite/binlog/std_data
usr/share/mysql/mysql-test/suite/ndb_team
usr/share/mysql/mysql-test/suite/ndb_team/t
usr/share/mysql/mysql-test/suite/ndb_team/r
usr/share/mysql/mysql-test/suite/federated
usr/share/mysql/mysql-test/suite/pbxt
usr/share/mysql/mysql-test/suite/pbxt/t
usr/share/mysql/mysql-test/suite/pbxt/r
usr/share/mysql/mysql-test/suite/funcs_1
usr/share/mysql/mysql-test/suite/funcs_1/cursors
usr/share/mysql/mysql-test/suite/funcs_1/bitdata
usr/share/mysql/mysql-test/suite/funcs_1/views
usr/share/mysql/mysql-test/suite/funcs_1/storedproc
usr/share/mysql/mysql-test/suite/funcs_1/triggers
usr/share/mysql/mysql-test/suite/funcs_1/lib
usr/share/mysql/mysql-test/suite/funcs_1/t
usr/share/mysql/mysql-test/suite/funcs_1/r
usr/share/mysql/mysql-test/suite/funcs_1/include
usr/share/mysql/mysql-test/suite/funcs_1/datadict
usr/share/mysql/mysql-test/suite/vcol
usr/share/mysql/mysql-test/suite/vcol/inc
usr/share/mysql/mysql-test/suite/vcol/t
usr/share/mysql/mysql-test/suite/vcol/r
usr/share/mysql/mysql-test/suite/oqgraph
usr/share/mysql/mysql-test/suite/oqgraph/t
usr/share/mysql/mysql-test/suite/oqgraph/r
usr/share/mysql/mysql-test/suite/oqgraph/include
usr/share/mysql/mysql-test/std_data
usr/share/mysql/mysql-test/std_data/ndb_backup50
usr/share/mysql/mysql-test/std_data/parts
usr/share/mysql/mysql-test/std_data/ndb_backup51_data_le
usr/share/mysql/mysql-test/std_data/ndb_backup51_data_be
usr/share/mysql/mysql-test/std_data/ndb_backup51
usr/share/mysql/mysql-test/std_data/funcs_1

View File

@ -1,9 +0,0 @@
usr/bin/mysql_client_test
usr/bin/mysql_client_test_embedded
usr/bin/mysqltest_embedded
usr/share/man/man1/mysql_client_test.1
usr/share/man/man1/mysql_client_test_embedded.1
usr/bin/mysqltest
usr/share/man/man1/mysqltest.1
usr/share/man/man1/mysqltest_embedded.1
usr/share/mysql/mysql-test

View File

@ -1,2 +0,0 @@
usr/share/mysql/mysql-test/mysql-test-run.pl usr/share/mysql/mysql-test/mysql-test-run
usr/share/mysql/mysql-test/mysql-test-run.pl usr/share/mysql/mysql-test/mtr

View File

@ -1 +0,0 @@
etc/mysql/conf.d/

View File

@ -1,3 +0,0 @@
etc/mysql/my.cnf
usr/share/mysql-common/internal-use-only
usr/share/lintian/overrides/mysql-common

View File

@ -1,2 +0,0 @@
script-not-executable ./usr/share/mysql-common/internal-use-only/_etc_init.d_mysql
script-not-executable ./usr/share/mysql-common/internal-use-only/_etc_mysql_debian-start

View File

@ -1,7 +0,0 @@
#!/bin/bash -e
if [ "$1" = "purge" ]; then
rmdir /etc/mysql 2>/dev/null || true
fi
#DEBHELPER#

View File

@ -1 +1 @@
[type: gettext/rfc822deb] mariadb-server-10.0.templates
[type: gettext/rfc822deb] mariadb-galera-server-10.0.templates

48
debian/po/ar.po vendored
View File

@ -27,19 +27,19 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr "هل فعلاً تريد التثبيط؟"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr "هناك ملف مسمى /var/lib/mysql/debian-*.flag موجود على هذا النظام."
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
#, fuzzy
#| msgid ""
#| "Such file is an indication that a mariadb-server package with a higher "
@ -52,7 +52,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -62,13 +62,13 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid "Important note for NIS/YP users"
msgstr "ملاحظة هامة لمستخدمي NIS/YP"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -76,7 +76,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
#, fuzzy
#| msgid ""
#| "You should also check the permissions and the owner of the /var/lib/mysql "
@ -88,13 +88,13 @@ msgstr "عليك أيضاً أن تقوم بالتأكد من صلاحيات م
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr "إزالة جميع قواعد بيانات MariaDB؟"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -102,7 +102,7 @@ msgstr "الدليل /var/lib/mysql الذي يحتوي قواعد بيانات
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -113,13 +113,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid "Start the MariaDB server on boot?"
msgstr "تشغيل خادم MariaDB عند الإقلاع؟"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
"with the '/etc/init.d/mysql start' command."
@ -129,13 +129,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr "كلمة المرور الجديدة لمستخد \"root\" الخاص بـMariaDB:"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -145,7 +145,7 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
#, fuzzy
#| msgid "If that field is left blank, the password will not be changed."
msgid "If this field is left blank, the password will not be changed."
@ -153,7 +153,7 @@ msgstr "إن ترك الحقل فارغاً، فلن يتم تغيير كلمة
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
#, fuzzy
#| msgid "New password for the MariaDB \"root\" user:"
msgid "Repeat password for the MariaDB \"root\" user:"
@ -161,13 +161,13 @@ msgstr "كلمة المرور الجديدة لمستخد \"root\" الخاص ب
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr "تعذر تعيين كلمة مرور للمستخدم \"root\" الخاص بـMariaDB."
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -179,7 +179,7 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "You should check the account's password after tha package installation."
@ -188,7 +188,7 @@ msgstr "يجب عليك التحقق من كلمة مرور الحساب عقب
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "Please read the /usr/share/doc/mysql-server-5.1/README.Debian file for "
@ -202,25 +202,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/ca.po vendored
View File

@ -17,19 +17,19 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"Such a file is an indication that a mariadb-server package with a higher "
"version has been installed previously."
@ -37,7 +37,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -45,7 +45,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
#, fuzzy
#| msgid "Important note for NIS/YP users!"
msgid "Important note for NIS/YP users"
@ -53,7 +53,7 @@ msgstr "Nota important pels usuaris de NIS/YP"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -61,7 +61,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"You should also check the permissions and ownership of the /var/lib/mysql "
"directory:"
@ -69,13 +69,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -83,7 +83,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -92,7 +92,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
#, fuzzy
#| msgid "Should MySQL start on boot?"
msgid "Start the MariaDB server on boot?"
@ -100,7 +100,7 @@ msgstr "Voleu que el MariaDB s'inici
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
#, fuzzy
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
@ -112,13 +112,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -126,25 +126,25 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "If this field is left blank, the password will not be changed."
msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
msgid "Repeat password for the MariaDB \"root\" user:"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -153,13 +153,13 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "You should check the account's password after the package installation."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"Please read the /usr/share/doc/mariadb-server-10.0/README.Debian file for "
"more information."
@ -167,25 +167,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/cs.po vendored
View File

@ -26,19 +26,19 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr "Opravdu pokračovat v degradaci?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr "V systému existuje soubor /var/lib/mysql/debian-*.flag."
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
#, fuzzy
#| msgid ""
#| "Such file is an indication that a mariadb-server package with a higher "
@ -51,7 +51,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -61,13 +61,13 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid "Important note for NIS/YP users"
msgstr "Důležitá poznámka pro uživatele NIS/YP"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -75,7 +75,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
#, fuzzy
#| msgid ""
#| "You should also check the permissions and the owner of the /var/lib/mysql "
@ -88,13 +88,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr "Odstranit všechny MariaDB databáze?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -104,7 +104,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -116,13 +116,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid "Start the MariaDB server on boot?"
msgstr "Spustit MariaDB server při startu systému?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
"with the '/etc/init.d/mysql start' command."
@ -132,13 +132,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr "Nové heslo MariaDB uživatele \"root\":"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -148,7 +148,7 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
#, fuzzy
#| msgid "If that field is left blank, the password will not be changed."
msgid "If this field is left blank, the password will not be changed."
@ -156,7 +156,7 @@ msgstr "Ponecháte-li pole prázdné, heslo se nezmění."
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
#, fuzzy
#| msgid "New password for the MySQL \"root\" user:"
msgid "Repeat password for the MariaDB \"root\" user:"
@ -164,13 +164,13 @@ msgstr "Nové heslo MariaDB uživatele \"root\":"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr "Nelze nastavit heslo MariaDB uživatele \"root\""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -182,7 +182,7 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "You should check the account's password after tha package installation."
@ -191,7 +191,7 @@ msgstr "Po instalaci balíku byste měli heslo ověřit."
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "Please read the /usr/share/doc/mysql-server-5.1/README.Debian file for "
@ -204,25 +204,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/da.po vendored
View File

@ -27,20 +27,20 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr "Ønsker du virkelig at fortsætte nedgraderingen?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr ""
"Der er en fil med navnet /var/lib/mysql/debian-*.flag på dette system."
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
#, fuzzy
#| msgid ""
#| "Such file is an indication that a mariadb-server package with a higher "
@ -54,7 +54,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -64,13 +64,13 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid "Important note for NIS/YP users"
msgstr "Vigtig oplysning til NIS/YP-brugere"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -78,7 +78,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
#, fuzzy
#| msgid ""
#| "You should also check the permissions and the owner of the /var/lib/mysql "
@ -91,13 +91,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr "Fjern alle MariaDB-databaser?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -107,7 +107,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -119,13 +119,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid "Start the MariaDB server on boot?"
msgstr "Start MariaDB-serveren under systemopstart?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
"with the '/etc/init.d/mysql start' command."
@ -135,13 +135,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr "Ny adgangskode for MariaDB's \"root\"-bruger:"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -151,7 +151,7 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
#, fuzzy
#| msgid "If that field is left blank, the password will not be changed."
msgid "If this field is left blank, the password will not be changed."
@ -159,7 +159,7 @@ msgstr "Hvis du lader dette felt st
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
#, fuzzy
#| msgid "New password for the MySQL \"root\" user:"
msgid "Repeat password for the MariaDB \"root\" user:"
@ -167,13 +167,13 @@ msgstr "Ny adgangskode for MariaDB's \"root\"-bruger:"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr "Kunne ikke sætte adgangskoden for MariaDB's \"root\"-bruger"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -186,13 +186,13 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "You should check the account's password after the package installation."
msgstr "Du bør tjekke kontoens adgangskode efter pakkeinstallationen."
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "Please read the /usr/share/doc/mysql-server-5.1/README.Debian file for "
@ -206,25 +206,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/de.po vendored
View File

@ -29,13 +29,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr "Möchten Sie wirklich eine ältere Version einspielen?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr ""
"Auf diesem System existiert eine Datei mit dem Namen /var/lib/mysql/debian-*."
@ -43,7 +43,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"Such a file is an indication that a mariadb-server package with a higher "
"version has been installed previously."
@ -53,7 +53,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -63,13 +63,13 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid "Important note for NIS/YP users"
msgstr "Wichtige Anmerkung für NIS/YP-Benutzer!"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -79,7 +79,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"You should also check the permissions and ownership of the /var/lib/mysql "
"directory:"
@ -89,13 +89,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr "Alle MariaDB-Datenbanken entfernen?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -105,7 +105,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -117,13 +117,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid "Start the MariaDB server on boot?"
msgstr "Soll der MariaDB-Server automatisch beim Booten starten?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
"with the '/etc/init.d/mysql start' command."
@ -133,13 +133,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr "Neues Passwort für den MariaDB »root«-Benutzer:"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -149,25 +149,25 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "If this field is left blank, the password will not be changed."
msgstr "Wenn dieses Feld freigelassen wird, wird das Passwort nicht geändert."
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
msgid "Repeat password for the MariaDB \"root\" user:"
msgstr "Wiederholen Sie das Passwort für den MariaDB-»root«-Benutzer:"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr "Konnte für den MariaDB-»root«-Benutzer kein Passwort setzen"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -180,7 +180,7 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "You should check the account's password after the package installation."
msgstr ""
"Sie sollten das Passwort des administrativen Benutzers nach der "
@ -188,7 +188,7 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "Please read the /usr/share/doc/mariadb-server-5.1/README.Debian file for "
@ -202,13 +202,13 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr "Passwort-Eingabefehler"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr ""
"Die beiden von Ihnen eingegebenen Passwörter sind nicht identisch. Bitte "
@ -216,13 +216,13 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr "NDB-Cluster scheint gerade benutzt zu werden"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/es.po vendored
View File

@ -52,20 +52,20 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr "¿Desea realmente continuar con la desactualización?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr ""
"Existe un archivo con el nombre /var/lib/mysql/debian-*.flag en este sistema."
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
#, fuzzy
#| msgid ""
#| "Such file is an indication that a mariadb-server package with a higher "
@ -79,7 +79,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -89,13 +89,13 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid "Important note for NIS/YP users"
msgstr "Nota importante para los usuarios de NIS/YP"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -103,7 +103,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
#, fuzzy
#| msgid ""
#| "You should also check the permissions and the owner of the /var/lib/mysql "
@ -117,13 +117,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr "¿Desea eliminar todas las bases de datos MariaDB?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -133,7 +133,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -145,13 +145,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid "Start the MariaDB server on boot?"
msgstr "¿Debería ejecutarse el servidor MariaDB al iniciarse el sistema?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
"with the '/etc/init.d/mysql start' command."
@ -161,13 +161,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr "Nueva contraseña para el usuario «root» de MariaDB:"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -177,7 +177,7 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
#, fuzzy
#| msgid "If that field is left blank, the password will not be changed."
msgid "If this field is left blank, the password will not be changed."
@ -185,7 +185,7 @@ msgstr "No se modificará la contraseña si deja el espacio en blanco."
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
#, fuzzy
#| msgid "New password for the MySQL \"root\" user:"
msgid "Repeat password for the MariaDB \"root\" user:"
@ -193,13 +193,13 @@ msgstr "Nueva contraseña para el usuario «root» de MariaDB:"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr "No se pudo fijar la contraseña para el usuario «root» de MariaDB"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -212,7 +212,7 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "You should check the account's password after the package installation."
msgstr ""
"Debería comprobar la contraseña de la cuenta después de la instalación del "
@ -220,7 +220,7 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "Please read the /usr/share/doc/mysql-server-5.1/README.Debian file for "
@ -234,25 +234,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/eu.po vendored
View File

@ -20,19 +20,19 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr "Benetan bertsio zaharragora itzuli nahi duzu?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr "Sisteman badago /var/lib/mysql/debian-*.flag izeneko fitxategi bat."
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
#, fuzzy
#| msgid ""
#| "Such file is an indication that a mariadb-server package with a higher "
@ -46,7 +46,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -56,13 +56,13 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid "Important note for NIS/YP users"
msgstr "NIS/YP erabiltzaileentzat ohar garrantzitsua"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -70,7 +70,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
#, fuzzy
#| msgid ""
#| "You should also check the permissions and the owner of the /var/lib/mysql "
@ -84,13 +84,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr "Ezabatu MariaDB datubase guztiak?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -99,7 +99,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -111,13 +111,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid "Start the MariaDB server on boot?"
msgstr "Abioan MariaDB zerbitzaria abiarazi?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
"with the '/etc/init.d/mysql start' command."
@ -127,13 +127,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr "MariaDB \"root\" erabiltzailearen pasahitz berria:"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -143,7 +143,7 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
#, fuzzy
#| msgid "If that field is left blank, the password will not be changed."
msgid "If this field is left blank, the password will not be changed."
@ -151,19 +151,19 @@ msgstr "Eremua hau zurian utziaz gero ez da pasahitza aldatuko."
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
msgid "Repeat password for the MariaDB \"root\" user:"
msgstr "Errepikatu MariaDB \"root\" erabiltzailearen pasahitza:"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr "Ezin da MariaDB \"root\" erabiltzailearen pasahitza ezarri"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -175,14 +175,14 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "You should check the account's password after the package installation."
msgstr ""
"Kontuaren pasahitza egiaztatu beharko zenuke paketea instalatu aurretik."
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "Please read the /usr/share/doc/mariadb-server-10.0/README.Debian file for "
@ -196,25 +196,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr "Pasahitz sarrera errorea"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr "Idatzi dituzun bi pasahitzak ez dira berdina. Mesedez saiatu berriz."
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr "Dirudienez NDB Cluster-a erabilia dago"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
#, fuzzy
#| msgid ""
#| "MySQL-5.1 has orphaned NDB Cluster support. Please migrate to the new "

48
debian/po/fr.po vendored
View File

@ -22,19 +22,19 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr "Faut-il vraiment revenir à la version précédente ?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr "Un fichier /var/lib/mysql/debian-*.flag est présent sur ce système."
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"Such a file is an indication that a mariadb-server package with a higher "
"version has been installed previously."
@ -44,7 +44,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -52,13 +52,13 @@ msgstr "Il n'est pas garanti que cette version puisse en utiliser les données."
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid "Important note for NIS/YP users"
msgstr "Note importante pour les utilisateurs NIS/YP"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -68,7 +68,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"You should also check the permissions and ownership of the /var/lib/mysql "
"directory:"
@ -78,13 +78,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr "Faut-il supprimer toutes les bases de données MariaDB ?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -94,7 +94,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -105,13 +105,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid "Start the MariaDB server on boot?"
msgstr "Faut-il lancer MariaDB au démarrage ?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
"with the '/etc/init.d/mysql start' command."
@ -121,13 +121,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr "Nouveau mot de passe du superutilisateur de MariaDB :"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -137,26 +137,26 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "If this field is left blank, the password will not be changed."
msgstr "Si ce champ est laissé vide, le mot de passe ne sera pas changé."
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
msgid "Repeat password for the MariaDB \"root\" user:"
msgstr "Confirmation du mot de passe du superutilisateur de MariaDB :"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr ""
"Impossible de changer le mot de passe de l'utilisateur « root » de MariaDB"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -168,7 +168,7 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "You should check the account's password after the package installation."
msgstr ""
"Vous devriez vérifier le mot de passe de ce compte après l'installation du "
@ -176,7 +176,7 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "Please read the /usr/share/doc/mariadb-server-10.0/README.Debian file for "
@ -190,13 +190,13 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr "Erreur de saisie du mot de passe"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr ""
"Le mot de passe et sa confirmation ne sont pas identiques. Veuillez "
@ -204,13 +204,13 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr "Abandon de la gestion de NDB"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/gl.po vendored
View File

@ -17,19 +17,19 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr "¿Quere pasar a unha versión anterior?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr "Neste sistema hai un ficheiro chamado /var/lib/mysql/debian-*.flag."
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
#, fuzzy
#| msgid ""
#| "Such file is an indication that a mariadb-server package with a higher "
@ -43,7 +43,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -53,13 +53,13 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid "Important note for NIS/YP users"
msgstr "Nota importante para os usuarios de NIS/YP"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -67,7 +67,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
#, fuzzy
#| msgid ""
#| "You should also check the permissions and the owner of the /var/lib/mysql "
@ -81,13 +81,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr "¿Eliminar tódalas bases de datos de MariaDB?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -97,7 +97,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -109,13 +109,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid "Start the MariaDB server on boot?"
msgstr "¿Iniciar o servidor MariaDB co ordenador?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
"with the '/etc/init.d/mysql start' command."
@ -125,13 +125,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr "Novo contrasinal para o usuario \"root\" de MariaDB:"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -141,7 +141,7 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
#, fuzzy
#| msgid "If that field is left blank, the password will not be changed."
msgid "If this field is left blank, the password will not be changed."
@ -149,7 +149,7 @@ msgstr "Se deixa o campo en branco, non se ha cambiar o contrasinal."
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
#, fuzzy
#| msgid "New password for the MySQL \"root\" user:"
msgid "Repeat password for the MariaDB \"root\" user:"
@ -157,13 +157,13 @@ msgstr "Novo contrasinal para o usuario \"root\" de MariaDB:"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr "Non se puido establecer o contrasinal do usuario \"root\" de MariaDB"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -175,7 +175,7 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "You should check the account's password after tha package installation."
@ -184,7 +184,7 @@ msgstr "Debería comprobar o contrasinal da conta trala instalación do paquete.
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "Please read the /usr/share/doc/mysql-server-5.1/README.Debian file for "
@ -198,25 +198,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/it.po vendored
View File

@ -18,20 +18,20 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr "Procedere realmente con l'abbassamento di versione?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr ""
"Su questo sistema esiste un file con nome /var/lib/mysql/debian-*.flag."
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"Such a file is an indication that a mariadb-server package with a higher "
"version has been installed previously."
@ -41,7 +41,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -51,13 +51,13 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid "Important note for NIS/YP users"
msgstr "Nota importante per gli utenti NIS/YP"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -67,7 +67,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"You should also check the permissions and ownership of the /var/lib/mysql "
"directory:"
@ -77,13 +77,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr "Eliminare tutti i database MariaDB?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -93,7 +93,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -105,13 +105,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid "Start the MariaDB server on boot?"
msgstr "Lanciare il server MariaDB all'avvio?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
"with the '/etc/init.d/mysql start' command."
@ -121,13 +121,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr "Nuova password per l'utente «root» di MariaDB:"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -137,25 +137,25 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "If this field is left blank, the password will not be changed."
msgstr "Se questo campo è lasciato vuoto, la password non viene cambiata."
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
msgid "Repeat password for the MariaDB \"root\" user:"
msgstr "Ripetere la password per l'utente «root» di MariaDB:"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr "Impossibile impostare la password per l'utente «root» di MariaDB"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -168,14 +168,14 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "You should check the account's password after the package installation."
msgstr ""
"Al termine dell'installazione si deve verificare la password dell'account."
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "Please read the /usr/share/doc/mariadb-server-10.0/README.Debian file for "
@ -189,25 +189,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr "Errore di inserimento della password"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr "Le due password inserite sono diverse. Riprovare."
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr "È in uso un cluster NDB"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/ja.po vendored
View File

@ -27,13 +27,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr "本当にダウングレードを実行しますか?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr ""
"このシステムには /var/lib/mysql/debian-*.flag という名前のファイルが存在して"
@ -41,7 +41,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"Such a file is an indication that a mariadb-server package with a higher "
"version has been installed previously."
@ -51,7 +51,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -61,13 +61,13 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid "Important note for NIS/YP users"
msgstr "NIS/YP ユーザへの重要な注意"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -77,7 +77,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"You should also check the permissions and ownership of the /var/lib/mysql "
"directory:"
@ -85,13 +85,13 @@ msgstr "/var/lib/mysql の所有者権限をチェックする必要もありま
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr "すべての MariaDB データベースを削除しますか?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -101,7 +101,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -113,13 +113,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid "Start the MariaDB server on boot?"
msgstr "MariaDB をシステム起動時に開始しますか?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
"with the '/etc/init.d/mysql start' command."
@ -129,13 +129,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr "MariaDB の \"root\" ユーザに対する新しいパスワード:"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -145,25 +145,25 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "If this field is left blank, the password will not be changed."
msgstr "この値を空のままにしておいた場合は、パスワードは変更されません。"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
msgid "Repeat password for the MariaDB \"root\" user:"
msgstr "MariaDB の \"root\" ユーザに対する新しいパスワード:"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr "MariaDB の \"root\" ユーザのパスワードを設定できません"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -175,14 +175,14 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "You should check the account's password after the package installation."
msgstr ""
"パッケージのインストール後、アカウントのパスワードを確認する必要があります。"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "Please read the /usr/share/doc/mariadb-server-10.0/README.Debian file for "
@ -195,25 +195,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr "パスワード入力エラー"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr "入力された二つのパスワードが一致しません。再入力してください。"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr "NDB クラスタが利用されているようです"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/nb.po vendored
View File

@ -19,7 +19,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
#, fuzzy
#| msgid "Do you really want to downgrade?"
msgid "Really proceed with downgrade?"
@ -27,13 +27,13 @@ msgstr "Er du sikker på at du vil nedgradere?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
#, fuzzy
#| msgid ""
#| "WARNING: The file /var/lib/mysql/debian-*.flag exists. This indicates "
@ -50,7 +50,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -58,7 +58,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
#, fuzzy
#| msgid "Important note for NIS/YP users!"
msgid "Important note for NIS/YP users"
@ -66,7 +66,7 @@ msgstr "Viktig merknad for NIS/YP-brukere!"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -74,7 +74,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"You should also check the permissions and ownership of the /var/lib/mysql "
"directory:"
@ -82,13 +82,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -96,7 +96,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
#, fuzzy
#| msgid ""
#| "The script is about to remove the data directory /var/lib/mysql. If it is "
@ -113,7 +113,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
#, fuzzy
#| msgid "Should MySQL start on boot?"
msgid "Start the MariaDB server on boot?"
@ -121,7 +121,7 @@ msgstr "Skal MariaDB startes ved maskinoppstart?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
#, fuzzy
#| msgid ""
#| "The MySQL can start automatically on boot time or only if you manually "
@ -135,7 +135,7 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
#, fuzzy
#| msgid "New password for MySQL \"root\" user:"
msgid "New password for the MariaDB \"root\" user:"
@ -143,7 +143,7 @@ msgstr "Nytt passord for MariaDBs «root»-bruker:"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
#, fuzzy
#| msgid ""
#| "It is highly recommended that you set a password for the MySQL "
@ -157,13 +157,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "If this field is left blank, the password will not be changed."
msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
#, fuzzy
#| msgid "New password for MySQL \"root\" user:"
msgid "Repeat password for the MariaDB \"root\" user:"
@ -171,7 +171,7 @@ msgstr "Nytt passord for MariaDBs «root»-bruker:"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid "Unable to set password for MySQL \"root\" user"
msgid "Unable to set password for the MariaDB \"root\" user"
@ -179,7 +179,7 @@ msgstr "Klarer ikke angi passord for MariaDBs «root»-bruker"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "It seems an error occurred while setting the password for the MySQL "
@ -198,13 +198,13 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "You should check the account's password after the package installation."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"Please read the /usr/share/doc/mariadb-server-10.0/README.Debian file for "
"more information."
@ -212,25 +212,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/nl.po vendored
View File

@ -18,7 +18,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
#, fuzzy
#| msgid "Do you really want to downgrade?"
msgid "Really proceed with downgrade?"
@ -26,13 +26,13 @@ msgstr "Wilt u echt een oude versie herstellen?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
#, fuzzy
#| msgid ""
#| "WARNING: The file /var/lib/mysql/debian-*.flag exists. This indicates "
@ -50,7 +50,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -58,7 +58,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
#, fuzzy
#| msgid "Important note for NIS/YP users!"
msgid "Important note for NIS/YP users"
@ -66,7 +66,7 @@ msgstr "Belangrijke opmerking voor gebruikers van NIS/YP!"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -74,7 +74,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"You should also check the permissions and ownership of the /var/lib/mysql "
"directory:"
@ -82,13 +82,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -96,7 +96,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
#, fuzzy
#| msgid ""
#| "The script is about to remove the data directory /var/lib/mysql. If it is "
@ -114,7 +114,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
#, fuzzy
#| msgid "Should MySQL start on boot?"
msgid "Start the MariaDB server on boot?"
@ -122,7 +122,7 @@ msgstr "Moet MariaDB starten als de computer start?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
#, fuzzy
#| msgid ""
#| "The MySQL can start automatically on boot time or only if you manually "
@ -136,7 +136,7 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
#, fuzzy
#| msgid "New password for MySQL \"root\" user:"
msgid "New password for the MariaDB \"root\" user:"
@ -144,7 +144,7 @@ msgstr "Nieuw wachtwoord voor de MariaDB \"root\"-gebruiker:"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
#, fuzzy
#| msgid ""
#| "It is highly recommended that you set a password for the MySQL "
@ -158,13 +158,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "If this field is left blank, the password will not be changed."
msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
#, fuzzy
#| msgid "New password for MySQL \"root\" user:"
msgid "Repeat password for the MariaDB \"root\" user:"
@ -172,7 +172,7 @@ msgstr "Nieuw wachtwoord voor de MariaDB \"root\"-gebruiker:"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid "Unable to set password for MySQL \"root\" user"
msgid "Unable to set password for the MariaDB \"root\" user"
@ -180,7 +180,7 @@ msgstr "Kan het wachtwoord voor de MariaDB \"root\"-gebruiker niet instellen"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "It seems an error occurred while setting the password for the MySQL "
@ -199,13 +199,13 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "You should check the account's password after the package installation."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"Please read the /usr/share/doc/mariadb-server-10.0/README.Debian file for "
"more information."
@ -213,25 +213,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/pt.po vendored
View File

@ -18,19 +18,19 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr "Deseja mesmo fazer downgrade?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr "Existe um ficheiro chamado /var/lib/mysql/debian-*.flag neste sistema."
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
#, fuzzy
#| msgid ""
#| "Such file is an indication that a mariadb-server package with a higher "
@ -44,7 +44,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -54,13 +54,13 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid "Important note for NIS/YP users"
msgstr "Nota importante para utilizadores de NIS/YP"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -68,7 +68,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
#, fuzzy
#| msgid ""
#| "You should also check the permissions and the owner of the /var/lib/mysql "
@ -81,13 +81,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr "Remover todas as bases de dados MariaDB?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -97,7 +97,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -109,13 +109,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid "Start the MariaDB server on boot?"
msgstr "Iniciar o servidor MariaDB no arranque?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
"with the '/etc/init.d/mysql start' command."
@ -125,13 +125,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr "Nova palavra-passe para o utilizador \"root\" do MariaDB:"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -141,7 +141,7 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
#, fuzzy
#| msgid "If that field is left blank, the password will not be changed."
msgid "If this field is left blank, the password will not be changed."
@ -150,7 +150,7 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
#, fuzzy
#| msgid "New password for the MySQL \"root\" user:"
msgid "Repeat password for the MariaDB \"root\" user:"
@ -158,7 +158,7 @@ msgstr "Nova palavra-passe para o utilizador \"root\" do MariaDB:"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr ""
"Não foi possível definir a palavra-passe para o utilizador \"root\" do "
@ -166,7 +166,7 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -179,7 +179,7 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "You should check the account's password after tha package installation."
@ -189,7 +189,7 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "Please read the /usr/share/doc/mysql-server-5.1/README.Debian file for "
@ -203,25 +203,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/pt_BR.po vendored
View File

@ -21,19 +21,19 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr "Realmente proceder com o rebaixamento de versão?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr "Um arquivo de nome /var/lib/mysql/debian-*.flag existe no sistema."
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
#, fuzzy
#| msgid ""
#| "Such file is an indication that a mariadb-server package with a higher "
@ -47,7 +47,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -57,13 +57,13 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid "Important note for NIS/YP users"
msgstr "Aviso importante para usuários NIS/YP"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -71,7 +71,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
#, fuzzy
#| msgid ""
#| "You should also check the permissions and the owner of the /var/lib/mysql "
@ -84,13 +84,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr "Remover todas as bases de dados do MariaDB?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -100,7 +100,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -112,13 +112,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid "Start the MariaDB server on boot?"
msgstr "Iniciar o servidor MariaDB junto a inicialização da máquina?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
"with the '/etc/init.d/mysql start' command."
@ -128,13 +128,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr "Nova senha para o usuário \"root\" do MariaDB:"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -144,7 +144,7 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
#, fuzzy
#| msgid "If that field is left blank, the password will not be changed."
msgid "If this field is left blank, the password will not be changed."
@ -152,7 +152,7 @@ msgstr "Caso este campo seja deixado em branco, a senha não sera mudada."
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
#, fuzzy
#| msgid "New password for the MySQL \"root\" user:"
msgid "Repeat password for the MariaDB \"root\" user:"
@ -160,13 +160,13 @@ msgstr "Nova senha para o usuário \"root\" do MariaDB:"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr "Impossível definir senha para o usuário \"root\" do MariaDB"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -179,7 +179,7 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "You should check the account's password after tha package installation."
@ -188,7 +188,7 @@ msgstr "Você deverá checar a senha dessa conta após a instalação deste paco
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "Please read the /usr/share/doc/mysql-server-5.1/README.Debian file for "
@ -202,25 +202,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/ro.po vendored
View File

@ -19,7 +19,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
#, fuzzy
#| msgid "Do you really want to downgrade?"
msgid "Really proceed with downgrade?"
@ -27,13 +27,13 @@ msgstr "Sunteţi sigur că doriţi să instalaţi o versiune mai veche?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
#, fuzzy
#| msgid ""
#| "WARNING: The file /var/lib/mysql/debian-*.flag exists. This indicates "
@ -50,7 +50,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -58,7 +58,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
#, fuzzy
#| msgid "Important note for NIS/YP users!"
msgid "Important note for NIS/YP users"
@ -66,7 +66,7 @@ msgstr "Notă importantă pentru utilizatorii NIS/YP!"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -74,7 +74,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"You should also check the permissions and ownership of the /var/lib/mysql "
"directory:"
@ -82,13 +82,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -96,7 +96,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
#, fuzzy
#| msgid ""
#| "The script is about to remove the data directory /var/lib/mysql. If it is "
@ -113,7 +113,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
#, fuzzy
#| msgid "Should MySQL start on boot?"
msgid "Start the MariaDB server on boot?"
@ -121,7 +121,7 @@ msgstr "Doriţi ca MariaDB să pornească la initializarea sistemului?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
#, fuzzy
#| msgid ""
#| "The MySQL can start automatically on boot time or only if you manually "
@ -135,7 +135,7 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
#, fuzzy
#| msgid "New password for MySQL \"root\" user:"
msgid "New password for the MariaDB \"root\" user:"
@ -143,7 +143,7 @@ msgstr "Noua parolă pentru utilizatorul „root” al MariaDB:"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
#, fuzzy
#| msgid ""
#| "It is highly recommended that you set a password for the MySQL "
@ -157,13 +157,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "If this field is left blank, the password will not be changed."
msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
#, fuzzy
#| msgid "New password for MySQL \"root\" user:"
msgid "Repeat password for the MariaDB \"root\" user:"
@ -171,7 +171,7 @@ msgstr "Noua parolă pentru utilizatorul „root” al MariaDB:"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid "Unable to set password for MySQL \"root\" user"
msgid "Unable to set password for the MariaDB \"root\" user"
@ -179,7 +179,7 @@ msgstr "Nu s-a putut stabili parola pentru utilizatorul „root” al MariaDB"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "It seems an error occurred while setting the password for the MySQL "
@ -198,13 +198,13 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "You should check the account's password after the package installation."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"Please read the /usr/share/doc/mariadb-server-10.0/README.Debian file for "
"more information."
@ -212,25 +212,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/ru.po vendored
View File

@ -32,19 +32,19 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr "Действительно установить более старую версию?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr "В системе найден файл /var/lib/mysql/debian-*.flag."
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"Such a file is an indication that a mariadb-server package with a higher "
"version has been installed previously."
@ -54,7 +54,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -64,13 +64,13 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid "Important note for NIS/YP users"
msgstr "Важное замечание для пользователей NIS/YP"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -80,7 +80,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"You should also check the permissions and ownership of the /var/lib/mysql "
"directory:"
@ -88,13 +88,13 @@ msgstr "Также проверьте права доступа и владел
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr "Удалить все базы данных MariaDB?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -103,7 +103,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -115,13 +115,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid "Start the MariaDB server on boot?"
msgstr "Запускать MariaDB при загрузке системы?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
"with the '/etc/init.d/mysql start' command."
@ -131,13 +131,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr "Новый пароль для MariaDB пользователя \"root\":"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -147,25 +147,25 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "If this field is left blank, the password will not be changed."
msgstr "Если оставить поле пустым, то пароль изменён не будет."
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
msgid "Repeat password for the MariaDB \"root\" user:"
msgstr "Повторите ввод пароля для MariaDB пользователя \"root\":"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr "Невозможно задать пароль MariaDB пользователю \"root\""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -177,13 +177,13 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "You should check the account's password after the package installation."
msgstr "Проверьте пароль учётной записи после установки пакета."
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "Please read the /usr/share/doc/mariadb-server-10.0/README.Debian file for "
@ -196,25 +196,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr "Ошибка ввода пароля"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr "Два введённых пароля не одинаковы. Повторите ввод."
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr "NDB Cluster уже используется"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/sv.po vendored
View File

@ -21,19 +21,19 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr "Vill du verkligen genomföra nedgraderingen?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr "En fil med namnet /var/lib/mysql/debian-*.flag hittades i systemet."
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"Such a file is an indication that a mariadb-server package with a higher "
"version has been installed previously."
@ -43,7 +43,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -53,13 +53,13 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid "Important note for NIS/YP users"
msgstr "Viktig information för NIS/YP-användare"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -69,7 +69,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"You should also check the permissions and ownership of the /var/lib/mysql "
"directory:"
@ -79,13 +79,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr "Ta bort alla MariaDB-databaser?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -95,7 +95,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -107,13 +107,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid "Start the MariaDB server on boot?"
msgstr "Ska MariaDB startas vid systemets uppstart?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
"with the '/etc/init.d/mysql start' command."
@ -123,13 +123,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr "Nytt lösenord för MariaDBs \"root\"-användare:"
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -139,25 +139,25 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "If this field is left blank, the password will not be changed."
msgstr "Om detta fält lämnas tom kommer lösenordet inte att ändras."
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
msgid "Repeat password for the MariaDB \"root\" user:"
msgstr "Repetera lösenordet för MariaDBs \"root\"-användare:"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr "Kunde inte sätta lösenord för MariaDBs \"root\"-användare"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -170,13 +170,13 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "You should check the account's password after the package installation."
msgstr "Du bör kontrollera kontots lösenord efter installationen av paketet."
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
#, fuzzy
#| msgid ""
#| "Please read the /usr/share/doc/mariadb-server-10.0/README.Debian file for "
@ -190,25 +190,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr "Fel vid inmatning av lösenord"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr "De två lösenorden du angav stämde inte överrens. Prova igen."
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr "NDB-kluster används inte"
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

View File

@ -19,19 +19,19 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"Such a file is an indication that a mariadb-server package with a higher "
"version has been installed previously."
@ -39,7 +39,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -47,13 +47,13 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid "Important note for NIS/YP users"
msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -61,7 +61,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"You should also check the permissions and ownership of the /var/lib/mysql "
"directory:"
@ -69,13 +69,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -83,7 +83,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -92,13 +92,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid "Start the MariaDB server on boot?"
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
"with the '/etc/init.d/mysql start' command."
@ -106,13 +106,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -120,25 +120,25 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "If this field is left blank, the password will not be changed."
msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
msgid "Repeat password for the MariaDB \"root\" user:"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -147,13 +147,13 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "You should check the account's password after the package installation."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"Please read the /usr/share/doc/mariadb-server-10.0/README.Debian file for "
"more information."
@ -161,25 +161,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

48
debian/po/tr.po vendored
View File

@ -18,19 +18,19 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "Really proceed with downgrade?"
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"Such a file is an indication that a mariadb-server package with a higher "
"version has been installed previously."
@ -38,7 +38,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:2001
#: ../mariadb-galera-server-10.0.templates:2001
msgid ""
"There is no guarantee that the version you're currently installing will be "
"able to use the current databases."
@ -46,7 +46,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
#, fuzzy
#| msgid "Important note for NIS/YP users!"
msgid "Important note for NIS/YP users"
@ -54,7 +54,7 @@ msgstr "NIS/YP kullanıcıları için önemli not!"
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"Using MariaDB under NIS/YP requires a mysql user account to be added on the "
"local system with:"
@ -62,7 +62,7 @@ msgstr ""
#. Type: note
#. Description
#: ../mariadb-server-10.0.templates:3001
#: ../mariadb-galera-server-10.0.templates:3001
msgid ""
"You should also check the permissions and ownership of the /var/lib/mysql "
"directory:"
@ -70,13 +70,13 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid "Remove all MariaDB databases?"
msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"The /var/lib/mysql directory which contains the MariaDB databases is about "
"to be removed."
@ -84,7 +84,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:4001
#: ../mariadb-galera-server-10.0.templates:4001
msgid ""
"If you're removing the MariaDB package in order to later install a more "
"recent version or if a different mariadb-server package is already using it, "
@ -93,7 +93,7 @@ msgstr ""
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
#, fuzzy
#| msgid "Should MySQL start on boot?"
msgid "Start the MariaDB server on boot?"
@ -101,7 +101,7 @@ msgstr "MariaDB açılış sırasında başlatılsın mı?"
#. Type: boolean
#. Description
#: ../mariadb-server-10.0.templates:5001
#: ../mariadb-galera-server-10.0.templates:5001
#, fuzzy
msgid ""
"The MariaDB server can be launched automatically at boot time or manually "
@ -113,13 +113,13 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "New password for the MariaDB \"root\" user:"
msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid ""
"While not mandatory, it is highly recommended that you set a password for "
"the MariaDB administrative \"root\" user."
@ -127,25 +127,25 @@ msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:6001
#: ../mariadb-galera-server-10.0.templates:6001
msgid "If this field is left blank, the password will not be changed."
msgstr ""
#. Type: password
#. Description
#: ../mariadb-server-10.0.templates:7001
#: ../mariadb-galera-server-10.0.templates:7001
msgid "Repeat password for the MariaDB \"root\" user:"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "Unable to set password for the MariaDB \"root\" user"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"An error occurred while setting the password for the MariaDB administrative "
"user. This may have happened because the account already has a password, or "
@ -154,13 +154,13 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid "You should check the account's password after the package installation."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:8001
#: ../mariadb-galera-server-10.0.templates:8001
msgid ""
"Please read the /usr/share/doc/mariadb-server-10.0/README.Debian file for "
"more information."
@ -168,25 +168,25 @@ msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "Password input error"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:9001
#: ../mariadb-galera-server-10.0.templates:9001
msgid "The two passwords you entered were not the same. Please try again."
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid "NDB Cluster seems to be in use"
msgstr ""
#. Type: error
#. Description
#: ../mariadb-server-10.0.templates:10001
#: ../mariadb-galera-server-10.0.templates:10001
msgid ""
"MySQL-5.1 no longer provides NDB Cluster support. Please migrate to the new "
"mysql-cluster package and remove all lines starting with \"ndb\" from all "

View File

@ -20,6 +20,15 @@
#ifdef __cplusplus
extern "C" {
#endif
#ifdef WITH_WSREP
#include <my_sys.h>
typedef int (* wsrep_thd_is_brute_force_fun)(void *);
typedef int (* wsrep_abort_thd_fun)(void *, void *, my_bool);
typedef int (* wsrep_on_fun)(void *);
void wsrep_thr_lock_init(
wsrep_thd_is_brute_force_fun bf_fun, wsrep_abort_thd_fun abort_fun,
my_bool debug, my_bool convert_LOCK_to_trx, wsrep_on_fun on_fun);
#endif
#include <my_pthread.h>
#include <my_list.h>
@ -95,6 +104,10 @@ typedef struct st_thr_lock_info
{
pthread_t thread;
my_thread_id thread_id;
#ifdef WITH_WSREP
void *mysql_thd; // THD pointer
my_bool in_lock_tables; // true, if inside locking session
#endif
} THR_LOCK_INFO;

View File

@ -1573,50 +1573,10 @@ id select_type table type possible_keys key key_len ref rows Extra
explain select count(*) from information_schema.views;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE views ALL NULL NULL NULL NULL NULL Open_frm_only; Scanned all databases
set global init_connect="drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;";
select * from information_schema.global_variables where variable_name='init_connect';
VARIABLE_NAME VARIABLE_VALUE
INIT_CONNECT drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists
set global init_connect=repeat("drop table if exists t1;", 100);
select length(@@global.init_connect), length(variable_value) from information_schema.global_variables where variable_name='init_connect';
length(@@global.init_connect) length(variable_value)
2400 2048
Warnings:
Warning 1265 Data truncated for column 'VARIABLE_VALUE' at row 1
set global init_connect="";

View File

@ -983,6 +983,75 @@ The following options may be given as the first argument:
-V, --version Output version information and exit.
--wait-timeout=# The number of seconds the server waits for activity on a
connection before closing it
--wsrep-OSU-method[=name]
Method for Online Schema Upgrade
--wsrep-auto-increment-control
To automatically control the assignment of autoincrement
variables
(Defaults to on; use --skip-wsrep-auto-increment-control to disable.)
--wsrep-causal-reads
Enable "strictly synchronous" semantics for read
operations
--wsrep-certify-nonPK
Certify tables with no primary key
(Defaults to on; use --skip-wsrep-certify-nonPK to disable.)
--wsrep-cluster-address=name
Address to initially connect to cluster
--wsrep-cluster-name=name
Name for the cluster
--wsrep-convert-LOCK-to-trx
To convert locking sessions into transactions
--wsrep-data-home-dir=name
home directory for wsrep provider
--wsrep-dbug-option=name
DBUG options to provider library
--wsrep-debug To enable debug level logging
--wsrep-drupal-282555-workaround
To use a workaround forbad autoincrement value
--wsrep-forced-binlog-format=name
binlog format to take effect over user's choice
--wsrep-log-conflicts
To log multi-master conflicts
--wsrep-max-ws-rows=#
Max number of rows in write set
--wsrep-max-ws-size=#
Max write set size (bytes)
--wsrep-mysql-replication-bundle=#
mysql replication group commit
--wsrep-node-address=name
Node address
--wsrep-node-incoming-address=name
Client connection address
--wsrep-node-name=name
Node name
--wsrep-notify-cmd=name
--wsrep-on To enable wsrep replication
(Defaults to on; use --skip-wsrep-on to disable.)
--wsrep-provider=name
Path to replication provider library
--wsrep-provider-options=name
provider specific options
--wsrep-recover Recover database state after crash and exit
--wsrep-replicate-myisam
To enable myisam replication
--wsrep-retry-autocommit=#
Max number of times to retry a failed autocommit
statement
--wsrep-slave-threads=#
Number of slave appliers to launch
--wsrep-sst-auth=name
Authentication for SST connection
--wsrep-sst-donor=name
preferred donor node for the SST
--wsrep-sst-donor-rejects-queries
Reject client queries when donating state snapshot
transfer
--wsrep-sst-method=name
State snapshot transfer method
--wsrep-sst-receive-address=name
Address where node is waiting for SST contact
--wsrep-start-position=name
global transaction position to start from
Variables (--variable-name=value)
allow-suspicious-udfs FALSE
@ -1268,6 +1337,38 @@ use-stat-tables NEVER
userstat FALSE
verbose TRUE
wait-timeout 28800
wsrep-OSU-method TOI
wsrep-auto-increment-control TRUE
wsrep-causal-reads FALSE
wsrep-certify-nonPK TRUE
wsrep-cluster-address
wsrep-cluster-name my_wsrep_cluster
wsrep-convert-LOCK-to-trx FALSE
wsrep-data-home-dir
wsrep-dbug-option
wsrep-debug FALSE
wsrep-drupal-282555-workaround FALSE
wsrep-forced-binlog-format NONE
wsrep-log-conflicts FALSE
wsrep-max-ws-rows 131072
wsrep-max-ws-size 1073741824
wsrep-mysql-replication-bundle 0
wsrep-node-address
wsrep-node-incoming-address AUTO
wsrep-notify-cmd
wsrep-on FALSE
wsrep-provider none
wsrep-provider-options
wsrep-recover FALSE
wsrep-replicate-myisam FALSE
wsrep-retry-autocommit 1
wsrep-slave-threads 1
wsrep-sst-auth (No default value)
wsrep-sst-donor
wsrep-sst-donor-rejects-queries FALSE
wsrep-sst-method mysqldump
wsrep-sst-receive-address AUTO
wsrep-start-position 00000000-0000-0000-0000-000000000000:-1
To see what values a running MySQL server is using, type
'mysqladmin variables' instead of 'mysqld --verbose --help'.

View File

@ -101,19 +101,19 @@ drop table t1;
show variables like "wait_timeout%";
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def information_schema VARIABLES VARIABLES VARIABLE_NAME Variable_name 253 64 12 N 1 0 8
def information_schema VARIABLES VARIABLES VARIABLE_VALUE Value 253 1024 5 Y 0 0 8
def information_schema VARIABLES VARIABLES VARIABLE_VALUE Value 253 2048 5 Y 0 0 8
Variable_name Value
wait_timeout 28800
show variables like "WAIT_timeout%";
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def information_schema VARIABLES VARIABLES VARIABLE_NAME Variable_name 253 64 12 N 1 0 8
def information_schema VARIABLES VARIABLES VARIABLE_VALUE Value 253 1024 5 Y 0 0 8
def information_schema VARIABLES VARIABLES VARIABLE_VALUE Value 253 2048 5 Y 0 0 8
Variable_name Value
wait_timeout 28800
show variables like "this_doesn't_exists%";
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def information_schema VARIABLES VARIABLES VARIABLE_NAME Variable_name 253 64 0 N 1 0 8
def information_schema VARIABLES VARIABLES VARIABLE_VALUE Value 253 1024 0 Y 0 0 8
def information_schema VARIABLES VARIABLES VARIABLE_VALUE Value 253 2048 0 Y 0 0 8
Variable_name Value
show table status from test like "this_doesn't_exists%";
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr

View File

@ -147,9 +147,9 @@ def information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL
def information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL 0 NULL NULL datetime select
def information_schema FILES VERSION 25 NULL YES bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select
def information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select
def information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select
def information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select
def information_schema INDEX_STATISTICS INDEX_NAME 3 NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) select
def information_schema INDEX_STATISTICS ROWS_READ 4 0 NO bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema INDEX_STATISTICS TABLE_NAME 2 NO varchar 192 576 NULL NULL NULL utf8 utf8_general_ci varchar(192) select
@ -299,9 +299,9 @@ def information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NUL
def information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NO varchar 512 1536 NULL NULL NULL utf8 utf8_general_ci varchar(512) select
def information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select
def information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select
def information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select
def information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 2048 6144 NULL NULL NULL utf8 utf8_general_ci varchar(2048) select
def information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL NULL bigint(21) select
def information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL NULL utf8 utf8_general_ci varchar(1) select
def information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
@ -630,9 +630,9 @@ NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) uns
3.0000 information_schema FILES STATUS varchar 20 60 utf8 utf8_general_ci varchar(20)
3.0000 information_schema FILES EXTRA varchar 255 765 utf8 utf8_general_ci varchar(255)
3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema GLOBAL_STATUS VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
3.0000 information_schema GLOBAL_STATUS VARIABLE_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema GLOBAL_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
3.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema INDEX_STATISTICS TABLE_SCHEMA varchar 192 576 utf8 utf8_general_ci varchar(192)
3.0000 information_schema INDEX_STATISTICS TABLE_NAME varchar 192 576 utf8 utf8_general_ci varchar(192)
3.0000 information_schema INDEX_STATISTICS INDEX_NAME varchar 192 576 utf8 utf8_general_ci varchar(192)
@ -782,9 +782,9 @@ NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datet
3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3)
3.0000 information_schema SESSION_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema SESSION_STATUS VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
3.0000 information_schema SESSION_STATUS VARIABLE_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema SESSION_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
3.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE varchar 2048 6144 utf8 utf8_general_ci varchar(2048)
3.0000 information_schema STATISTICS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512)
3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64)
3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64)

View File

@ -201,6 +201,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 100
auto_increment_offset 10
wsrep_auto_increment_control ON
DROP TABLE IF EXISTS t1;
Warnings:
Note 1051 Unknown table 't1'
@ -234,6 +235,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
wsrep_auto_increment_control ON
DROP TABLE IF EXISTS t1;
Warnings:
Note 1051 Unknown table 't1'
@ -273,6 +275,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
wsrep_auto_increment_control ON
DROP TABLE IF EXISTS t1;
Warnings:
Note 1051 Unknown table 't1'
@ -286,6 +289,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 100
auto_increment_offset 10
wsrep_auto_increment_control ON
INSERT INTO t1 VALUES (-2), (NULL),(2),(NULL);
INSERT INTO t1 VALUES (250),(NULL);
SELECT * FROM t1;
@ -319,6 +323,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
wsrep_auto_increment_control ON
DROP TABLE IF EXISTS t1;
Warnings:
Note 1051 Unknown table 't1'
@ -334,6 +339,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 100
auto_increment_offset 10
wsrep_auto_increment_control ON
INSERT INTO t1 VALUES (-2);
Warnings:
Warning 1264 Out of range value for column 'c1' at row 1
@ -374,6 +380,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
wsrep_auto_increment_control ON
DROP TABLE IF EXISTS t1;
Warnings:
Note 1051 Unknown table 't1'
@ -389,6 +396,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 100
auto_increment_offset 10
wsrep_auto_increment_control ON
INSERT INTO t1 VALUES (-2),(NULL),(2),(NULL);
Warnings:
Warning 1264 Out of range value for column 'c1' at row 1
@ -423,6 +431,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
wsrep_auto_increment_control ON
DROP TABLE IF EXISTS t1;
Warnings:
Note 1051 Unknown table 't1'
@ -438,6 +447,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 2
auto_increment_offset 10
wsrep_auto_increment_control ON
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
SELECT * FROM t1;
c1
@ -456,6 +466,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
wsrep_auto_increment_control ON
DROP TABLE IF EXISTS t1;
Warnings:
Note 1051 Unknown table 't1'
@ -471,6 +482,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 2
auto_increment_offset 10
wsrep_auto_increment_control ON
INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
ERROR HY000: Failed to read auto-increment value from storage engine
SELECT * FROM t1;
@ -484,6 +496,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
wsrep_auto_increment_control ON
DROP TABLE IF EXISTS t1;
Warnings:
Note 1051 Unknown table 't1'
@ -499,6 +512,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 5
auto_increment_offset 7
wsrep_auto_increment_control ON
INSERT INTO t1 VALUES (NULL),(NULL), (NULL);
ERROR HY000: Failed to read auto-increment value from storage engine
SELECT * FROM t1;
@ -512,6 +526,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
wsrep_auto_increment_control ON
DROP TABLE IF EXISTS t1;
Warnings:
Note 1051 Unknown table 't1'
@ -531,6 +546,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 3
auto_increment_offset 3
wsrep_auto_increment_control ON
INSERT INTO t1 VALUES (NULL),(NULL), (NULL);
SELECT * FROM t1;
c1
@ -548,6 +564,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
wsrep_auto_increment_control ON
DROP TABLE IF EXISTS t1;
Warnings:
Note 1051 Unknown table 't1'
@ -566,6 +583,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 65535
auto_increment_offset 65535
wsrep_auto_increment_control ON
INSERT INTO t1 VALUES (NULL),(NULL);
ERROR 22003: Out of range value for column 'c1' at row 1
SELECT * FROM t1;
@ -579,6 +597,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
wsrep_auto_increment_control ON
CREATE TABLE t1 (c1 DOUBLE NOT NULL AUTO_INCREMENT, c2 INT, PRIMARY KEY (c1)) ENGINE=InnoDB;
INSERT INTO t1 VALUES(NULL, 1);
INSERT INTO t1 VALUES(NULL, 2);
@ -866,6 +885,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
wsrep_auto_increment_control ON
CREATE TABLE t1 (c1 TINYINT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1, NULL);
INSERT INTO t1 VALUES (-1, 'innodb');
@ -1256,6 +1276,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 256
wsrep_auto_increment_control ON
CREATE TABLE t1 (c1 TINYINT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1, NULL);
SHOW CREATE TABLE t1;
@ -1274,6 +1295,7 @@ SHOW VARIABLES LIKE "%auto_inc%";
Variable_name Value
auto_increment_increment 1
auto_increment_offset 1
wsrep_auto_increment_control ON
CREATE TABLE t1 (c1 INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (2147483648, 'a');
SHOW CREATE TABLE t1;

View File

@ -3,7 +3,7 @@ Warnings:
Note 1051 Unknown table 't1'
select @@version_comment limit 1 ;
@@version_comment
Source distribution
Source distribution, wsrep_<version>
SELECT COUNT(*) FROM `information_schema`.`INNODB_SYS_INDEXES` ;
CREATE TABLE test.t1 ( `a` SERIAL NOT NULL , `b` VARCHAR( 255 ) NOT NULL , INDEX ( `b` ) ) ENGINE = InnoDB ;
SHOW TABLE STATUS FROM `information_schema` LIKE 'INNODB\_SYS\_INDEXES%' ;

View File

@ -5,6 +5,7 @@ drop table if exists t1;
#
# test for bug LP#875797 "Using 'innodb_sys_indexes' causes core dump"
#
--replace_regex /wsrep_[0-9\.Xr]+/wsrep_<version>/
select @@version_comment limit 1 ;
--disable_result_log
SELECT COUNT(*) FROM `information_schema`.`INNODB_SYS_INDEXES` ;
@ -19,3 +20,4 @@ SELECT COUNT(*) FROM `information_schema`.`INNODB_SYS_INDEXES` ;
drop table test.t1;
SHOW TABLE STATUS FROM `information_schema` LIKE 'INNODB\_SYS\_INDEXES%' ;
--enable_result_log

View File

@ -10,5 +10,39 @@ there should be *no* long test name listed below:
select distinct variable_name as `there should be *no* variables listed below:` from t2
left join t1 on variable_name=test_name where test_name is null;
there should be *no* variables listed below:
innodb_disallow_writes
wsrep_auto_increment_control
wsrep_causal_reads
wsrep_certify_nonpk
wsrep_cluster_address
wsrep_cluster_name
wsrep_convert_lock_to_trx
wsrep_data_home_dir
wsrep_dbug_option
wsrep_debug
wsrep_drupal_282555_workaround
wsrep_forced_binlog_format
wsrep_log_conflicts
wsrep_max_ws_rows
wsrep_max_ws_size
wsrep_mysql_replication_bundle
wsrep_node_address
wsrep_node_incoming_address
wsrep_node_name
wsrep_notify_cmd
wsrep_on
wsrep_osu_method
wsrep_provider
wsrep_provider_options
wsrep_recover
wsrep_replicate_myisam
wsrep_retry_autocommit
wsrep_slave_threads
wsrep_sst_auth
wsrep_sst_donor
wsrep_sst_donor_rejects_queries
wsrep_sst_method
wsrep_sst_receive_address
wsrep_start_position
drop table t1;
drop table t2;

View File

@ -1336,28 +1336,8 @@ explain select count(*) from information_schema.views;
#
# Bug#39955 SELECT on INFORMATION_SCHEMA.GLOBAL_VARIABLES takes too long
#
set global init_connect="drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;";
select * from information_schema.global_variables where variable_name='init_connect';
set global init_connect=repeat("drop table if exists t1;", 100);
select length(@@global.init_connect), length(variable_value) from information_schema.global_variables where variable_name='init_connect';
set global init_connect="";
#

View File

@ -10,7 +10,7 @@
# force symbolic-links=0 (valgrind build has a different default)
#
exec $MYSQLD_BOOTSTRAP_CMD --symbolic-links=0 --lower-case-table-names=1 --help --verbose > $MYSQL_TMP_DIR/mysqld--help.txt 2>&1;
exec $MYSQLD_BOOTSTRAP_CMD --symbolic-links=0 --lower-case-table-names=1 --help --verbose > $MYSQL_TMP_DIR/mysqld--help.txt;
# The inline perl code below will copy $MYSQL_TMP_DIR/mysqld--help.txt
# to output, but filter away some variable stuff (e.g. paths).

View File

@ -87,6 +87,12 @@ static char my_defaults_extra_file_buffer[FN_REFLEN];
static my_bool defaults_already_read= FALSE;
#ifdef WITH_WSREP
/* The only purpose of this global array is to hold full name of my.cnf
* which seems to be otherwise unavailable */
char wsrep_defaults_file[FN_REFLEN + 10]={0,};
#endif /* WITH_WREP */
/* Which directories are searched for options (and in which order) */
#define MAX_DEFAULT_DIRS 6
@ -803,6 +809,12 @@ static int search_default_file_with_ext(Process_option_func opt_handler,
if (!(fp= mysql_file_fopen(key_file_cnf, name, O_RDONLY, MYF(0))))
return 1; /* Ignore wrong files */
#ifdef WITH_WSREP
/* make sure we do this only once - for top-level file */
if ('\0' == wsrep_defaults_file[0])
strncpy(wsrep_defaults_file, name, sizeof(wsrep_defaults_file) - 1);
#endif /* WITH_WSREP */
while (mysql_file_fgets(buff, sizeof(buff) - 1, fp))
{
line++;

View File

@ -94,7 +94,24 @@ be any number of TL_WRITE_CONCURRENT_INSERT locks aktive at the same time.
my_bool thr_lock_inited=0;
ulong locks_immediate = 0L, locks_waited = 0L;
enum thr_lock_type thr_upgraded_concurrent_insert_lock = TL_WRITE;
#ifdef WITH_WSREP
static wsrep_thd_is_brute_force_fun wsrep_thd_is_brute_force= NULL;
static wsrep_abort_thd_fun wsrep_abort_thd= NULL;
static my_bool wsrep_debug;
static my_bool wsrep_convert_LOCK_to_trx;
static wsrep_on_fun wsrep_on = NULL;
void wsrep_thr_lock_init(
wsrep_thd_is_brute_force_fun bf_fun, wsrep_abort_thd_fun abort_fun,
my_bool debug, my_bool convert_LOCK_to_trx, wsrep_on_fun on_fun
) {
wsrep_thd_is_brute_force = bf_fun;
wsrep_abort_thd = abort_fun;
wsrep_debug = debug;
wsrep_convert_LOCK_to_trx= convert_LOCK_to_trx;
wsrep_on = on_fun;
}
#endif
/* The following constants are only for debug output */
#define MAX_THREADS 1000
#define MAX_LOCKS 1000
@ -1156,6 +1173,108 @@ static void sort_locks(THR_LOCK_DATA **data,uint count)
}
}
#ifdef WITH_WSREP
/*
* If brute force applier would need to wait for a thr lock,
* it needs to make sure that it will get the lock without (too much)
* delay.
* We identify here the owners of blocking locks and ask them to
* abort. We then put our lock request in the first place in the
* wait queue. When lock holders abort (one by one) the lock release
* algorithm should grant the lock to us. We rely on this and proceed
* to wait_for_locks().
* wsrep_break_locks() should be called in all the cases, where lock
* wait would happen.
*
* TODO: current implementation might not cover all possible lock wait
* situations. This needs an review still.
* TODO: lock release, might favor some other lock (instead our bf).
* This needs an condition to check for bf locks first.
* TODO: we still have a debug fprintf, this should be removed
*/
static inline my_bool
wsrep_break_lock(
THR_LOCK_DATA *data, struct st_lock_list *lock_queue1,
struct st_lock_list *lock_queue2, struct st_lock_list *wait_queue)
{
if (wsrep_on(data->owner->mysql_thd) &&
wsrep_thd_is_brute_force &&
wsrep_thd_is_brute_force(data->owner->mysql_thd))
{
THR_LOCK_DATA *holder;
/* if locking session conversion to transaction has been enabled,
we know that this conflicting lock must be read lock and furthermore,
lock holder is read-only. It is safe to wait for him.
*/
#ifdef TODO
if (wsrep_convert_LOCK_to_trx &&
(THD*)(data->owner->mysql_thd)->in_lock_tables)
{
if (wsrep_debug)
fprintf(stderr,"WSREP wsrep_break_lock read lock untouched\n");
return FALSE;
}
#endif
if (wsrep_debug)
fprintf(stderr,"WSREP wsrep_break_lock aborting locks\n");
/* aborting lock holder(s) here */
for (holder=(lock_queue1) ? lock_queue1->data : NULL;
holder;
holder=holder->next)
{
if (!wsrep_thd_is_brute_force(holder->owner->mysql_thd))
{
wsrep_abort_thd(data->owner->mysql_thd,
holder->owner->mysql_thd, FALSE);
}
else
{
if (wsrep_debug)
fprintf(stderr,"WSREP wsrep_break_lock skipping BF lock conflict\n");
return FALSE;
}
}
for (holder=(lock_queue2) ? lock_queue2->data : NULL;
holder;
holder=holder->next)
{
if (!wsrep_thd_is_brute_force(holder->owner->mysql_thd))
{
wsrep_abort_thd(data->owner->mysql_thd,
holder->owner->mysql_thd, FALSE);
}
else
{
if (wsrep_debug)
fprintf(stderr,"WSREP wsrep_break_lock skipping BF lock conflict\n");
return FALSE;
}
}
/* Add our lock to the head of the wait queue */
if (*(wait_queue->last)==wait_queue->data)
{
wait_queue->last=&data->next;
assert(wait_queue->data==0);
}
else
{
assert(wait_queue->data!=0);
wait_queue->data->prev=&data->next;
}
data->next=wait_queue->data;
data->prev=&wait_queue->data;
wait_queue->data=data;
data->cond=get_cond();
statistic_increment(locks_immediate,&THR_LOCK_lock);
return TRUE;
}
return FALSE;
}
#endif
enum enum_thr_lock_result
thr_multi_lock(THR_LOCK_DATA **data, uint count, THR_LOCK_INFO *owner,

View File

@ -313,6 +313,9 @@ IF(WIN32)
INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file}.pl COMPONENT Server_Scripts)
ENDFOREACH()
ELSE()
IF(WITH_WSREP)
SET(WSREP_BINARIES wsrep_sst_common wsrep_sst_mysqldump wsrep_sst_rsync wsrep_sst_xtrabackup)
ENDIF()
# On Unix, most of the files end up in the bin directory
SET(BIN_SCRIPTS
msql2mysql
@ -329,6 +332,7 @@ ELSE()
mysqldumpslow
mysqld_multi
mysqld_safe
${WSREP_BINARIES}
)
FOREACH(file ${BIN_SCRIPTS})
IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh)

View File

@ -38,7 +38,7 @@ use Getopt::Long;
use POSIX qw(strftime getcwd);
$|=1;
$VER="2.16";
$VER="2.20";
my @defaults_options; # Leading --no-defaults, --defaults-file, etc.
@ -138,6 +138,7 @@ sub main
print "will be disabled\nand some will be enabled.\n\n";
}
init_log() if (!defined($opt_log));
$groupids = $ARGV[1];
if ($opt_version)
{
@ -163,7 +164,6 @@ sub main
!($ARGV[0] =~ m/^stop$/i) &&
!($ARGV[0] =~ m/^report$/i)));
init_log() if (!defined($opt_log));
if (!$opt_no_log)
{
w2log("$my_progname log file version $VER; run: ",
@ -206,9 +206,9 @@ sub main
}
}
#
# Quote word for shell
#
####
#### Quote word for shell
####
sub quote_shell_word
{
@ -218,6 +218,10 @@ sub quote_shell_word
return $option;
}
####
#### get options for a group
####
sub defaults_for_group
{
my ($group) = @_;
@ -319,8 +323,12 @@ sub report_mysqlds
sub start_mysqlds()
{
my (@groups, $com, $tmp, $i, @options, $j, $mysqld_found, $info_sent);
my (@groups, $com, $com2, $tmp, $i, @options, $j, $mysqld_found,
$info_sent, $curdir, $mysql_install_db, $srcdir, $basedir,
$datadir);
$mysql_install_db= undef();
$srcdir= undef();
if (!$opt_no_log)
{
w2log("\nStarting MySQL servers\n","$opt_log",0,0);
@ -334,8 +342,9 @@ sub start_mysqlds()
{
@options = defaults_for_group($groups[$i]);
$basedir_found= 0; # The default
$mysqld_found= 1; # The default
my $basedir_found= 0; # The default
my $datadir_found= 0; # The default
my $mysqld_found= 1; # The default
$mysqld_found= 0 if (!length($mysqld));
$com= "$mysqld";
for ($j = 0, $tmp= ""; defined($options[$j]); $j++)
@ -350,6 +359,47 @@ sub start_mysqlds()
$com= $options[$j];
$mysqld_found= 1;
}
elsif ("--mysql-install-db=" eq substr($options[$j], 0, 19))
{
# mysql_install_db related option
$options[$j]=~ s/\-\-mysql\-install\-db\=//;
$mysql_install_db= $options[$j];
}
elsif ("--srcdir=" eq substr($options[$j], 0, 9))
{
# mysql_install_db related option
$options[$j]=~ s/\-\-srcdir\=//;
$srcdir= $options[$j];
}
elsif ("--include-config=" eq substr($options[$j], 0, 17))
{
$options[$j]=~ s/\-\-include\-config\=//;
$com2= "my_print_defaults --config-file=$options[$j] $groups[$i]";
# we need to reorder the array so that options in extra config file
# come in the middle. Needed if someone wants to overwrite an option
my ($k, @tmp_array);
for ($k= $j + 1; defined($options[$k]); $k++)
{
push (@tmp_array, $options[$k]);
undef($options[$k]);
}
pop(@options); # pop out last null array element
push (@options, `$com2`);
chomp(@options); # new lines away
push (@options, @tmp_array);
}
elsif ("--datadir=" eq substr($options[$j], 0, 10))
{
$datadir= $options[$j];
$datadir =~ s/^--datadir=//;
$datadir_found= 1;
$options[$j]= quote_shell_word($options[$j]);
$tmp.= " $options[$j]";
}
elsif ("--basedir=" eq substr($options[$j], 0, 10))
{
$basedir= $options[$j];
@ -373,6 +423,25 @@ sub start_mysqlds()
print "wanted mysqld binary.\n\n";
$info_sent= 1;
}
if (defined($mysql_install_db))
{
$com2= "$mysql_install_db";
$com2.= " --srcdir=$srcdir" if (defined($srcdir));
$com2.= " --datadir=$datadir" if ($datadir_found);
if (-d "$datadir/mysql")
{
my $wstr= "WARNING: $datadir/mysql already exists. Not going to\n";
$wstr.= "run $mysql_install_db on $datadir\n";
print $wstr if ($opt_verbose);
w2log($wstr, 0, 0);
}
else
{
w2log("Installing databases on $datadir..\n", 0, 0);
`$com2`;
}
}
$com.= $tmp;
$com.= " >> $opt_log 2>&1" if (!$opt_no_log);
$com.= " &";
@ -442,7 +511,7 @@ sub stop_mysqlds()
sub get_mysqladmin_options
{
my ($i, @groups)= @_;
my ($mysqladmin_found, $com, $tmp, $j);
my ($mysqladmin_found, $com, $com2, $tmp, $j);
@options = defaults_for_group($groups[$i]);
@ -465,6 +534,25 @@ sub get_mysqladmin_options
$com= $options[$j];
$mysqladmin_found= 1;
}
elsif ("--include-config=" eq substr($options[$j], 0, 17))
{
$options[$j]=~ s/\-\-include\-config\=//;
$com2= "my_print_defaults --config-file=$options[$j] $groups[$i]";
# we need to reorder the array so that options in extra config file
# come in the middle. Needed if someone wants to overwrite an option
my ($k, @tmp_array);
for ($k= $j + 1; defined($options[$k]); $k++)
{
push (@tmp_array, $options[$k]);
undef($options[$k]);
}
pop(@options); # pop out last null array element
push (@options, `$com2`);
chomp(@options); # new lines away
push (@options, @tmp_array);
}
elsif ((($options[$j] =~ m/^(\-\-socket\=)(.*)$/) && !$opt_tcp_ip) ||
($options[$j] =~ m/^(\-\-port\=)(.*)$/))
{
@ -484,8 +572,11 @@ sub get_mysqladmin_options
return $com;
}
# Return a list of option files which can be opened. Similar, but not
# identical, to behavior of my_search_option_files()
####
#### Return a list of option files which can be opened. Similar, but not
#### identical, to behavior of my_search_option_files()
####
sub list_defaults_files
{
my %opt;
@ -507,9 +598,11 @@ sub list_defaults_files
($ENV{HOME} ? "$ENV{HOME}/.my.cnf" : undef));
}
####
#### Takes a specification of GNRs (see --help), and returns a list of matching
#### groups which actually are mentioned in a relevant config file
####
# Takes a specification of GNRs (see --help), and returns a list of matching
# groups which actually are mentioned in a relevant config file
sub find_groups
{
my ($raw_gids) = @_;
@ -824,6 +917,17 @@ Using: @{[join ' ', @defaults_options]}
question. This will be recognised as a special option and
will not be passed to the mysqld. This will allow one to
start different mysqld versions with mysqld_multi.
--include-config= An optional config file inside a group [mysqld#] which
the program is currently reading. It will read any extra
options of that group from additional file and insert them
where this option was found. Note that the group name
[mysqld#] must be the same in order for options to be found.
--mysql-install-db=...
mysql_install_db script to be used for creating internal
databases. Used when installing datadir for the first time.
This option will be skipped with info in the log file if
'mysql' database already exists in the given datadir.
--srcdir=... srcdir argument for mysql_install_db script. Optional.
--no-log Print to stdout instead of the log file. By default the log
file is turned on.
--password=... Password for mysqladmin user.

View File

@ -147,7 +147,7 @@ log_notice () {
}
eval_log_error () {
cmd="$1"
local cmd="$1"
case $logging in
file) cmd="$cmd >> "`shell_quote_string "$err_log"`" 2>&1" ;;
syslog)
@ -183,6 +183,73 @@ shell_quote_string() {
echo "$1" | sed -e 's,\([^a-zA-Z0-9/_.=-]\),\\\1,g'
}
wsrep_pick_url() {
[ $# -eq 0 ] && return 0
log_error "WSREP: 'wsrep_urls' is DEPRECATED! Use wsrep_cluster_address to specify multiple addresses instead."
if ! which nc >/dev/null; then
log_error "ERROR: nc tool not found in PATH! Make sure you have it installed."
return 1
fi
local url
# Assuming URL in the form scheme://host:port
# If host and port are not NULL, the liveness of URL is assumed to be tested
# If port part is absent, the url is returned literally and unconditionally
# If every URL has port but none is reachable, nothing is returned
for url in `echo $@ | sed s/,/\ /g` 0; do
local host=`echo $url | cut -d \: -f 2 | sed s/^\\\/\\\///`
local port=`echo $url | cut -d \: -f 3`
[ -z "$port" ] && break
nc -z "$host" $port >/dev/null && break
done
if [ "$url" == "0" ]; then
log_error "ERROR: none of the URLs in '$@' is reachable."
return 1
fi
echo $url
}
# Run mysqld with --wsrep-recover and parse recovered position from log.
# Position will be stored in wsrep_start_position_opt global.
wsrep_start_position_opt=""
wsrep_recover_position() {
local mysqld_cmd="$@"
local wr_logfile=$(mktemp)
local euid=$(id -u)
local ret=0
[ "$euid" = "0" ] && chown $user $wr_logfile
chmod 600 $wr_logfile
log_notice "WSREP: Running position recovery with --log_error=$wr_logfile"
eval_log_error $mysqld_cmd --log_error=$wr_logfile --wsrep-recover
local rp="$(grep 'WSREP: Recovered position:' $wr_logfile)"
if [ -z "$rp" ]; then
local skipped="$(grep WSREP $wr_logfile | grep 'skipping position recovery')"
if [ -z "$skipped" ]; then
log_error "WSREP: Failed to recover position: " `cat $wr_logfile`;
ret=1
else
log_notice "WSREP: Position recovery skipped"
fi
else
local start_pos="$(echo $rp | sed 's/.*WSREP\:\ Recovered\ position://' \
| sed 's/^[ \t]*//')"
log_notice "WSREP: Recovered position $start_pos"
wsrep_start_position_opt="--wsrep_start_position=$start_pos"
fi
rm $wr_logfile
return $ret
}
parse_arguments() {
# We only need to pass arguments through to the server if we don't
# handle them here. So, we collect unrecognized options (passed on
@ -244,7 +311,13 @@ parse_arguments() {
--skip-syslog) want_syslog=0 ;;
--syslog-tag=*) syslog_tag="$val" ;;
--timezone=*) TZ="$val"; export TZ; ;;
--wsrep[-_]urls=*) wsrep_urls="$val"; ;;
--wsrep[-_]provider=*)
if test -n "$val" && test "$val" != "none"
then
wsrep_restart=1
fi
;;
--help) usage ;;
*)
@ -788,7 +861,8 @@ do
done
cmd="$cmd $args"
# Avoid 'nohup: ignoring input' warning
test -n "$NOHUP_NICENESS" && cmd="$cmd < /dev/null"
nohup_redir=""
test -n "$NOHUP_NICENESS" && nohup_redir=" < /dev/null"
log_notice "Starting $MYSQLD daemon with databases from $DATADIR"
@ -799,13 +873,31 @@ max_fast_restarts=5
# flag whether a usable sleep command exists
have_sleep=1
# maximum number of wsrep restarts
max_wsrep_restarts=0
# maximum number of wsrep restarts
max_wsrep_restarts=0
while true
do
rm -f "$pid_file" # Some extra safety
start_time=`date +%M%S`
eval_log_error "$cmd"
# this sets wsrep_start_position_opt
wsrep_recover_position "$cmd"
[ $? -ne 0 ] && exit 1 #
[ -n "$wsrep_urls" ] && url=`wsrep_pick_url $wsrep_urls` # check connect address
if [ -z "$url" ]
then
eval_log_error "$cmd $wsrep_start_position_opt $nohup_redir"
else
eval_log_error "$cmd $wsrep_start_position_opt --wsrep_cluster_address=$url $nohup_redir"
fi
if [ $want_syslog -eq 0 -a ! -f "$err_log" ]; then
touch "$err_log" # hypothetical: log was renamed but not
@ -875,6 +967,20 @@ do
I=`expr $I + 1`
done
fi
if [ -n "$wsrep_restart" ]
then
if [ $wsrep_restart -le $max_wsrep_restarts ]
then
wsrep_restart=`expr $wsrep_restart + 1`
log_notice "WSREP: sleeping 15 seconds before restart"
sleep 15
else
log_notice "WSREP: not restarting wsrep node automatically"
break
fi
fi
log_notice "mysqld restarted"
if test -n "$CRASH_SCRIPT"
then

View File

@ -13,6 +13,10 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
IF(WITH_WSREP)
SET(WSREP_INCLUDES ${CMAKE_SOURCE_DIR}/wsrep)
ENDIF()
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/sql
@ -20,6 +24,7 @@ ${CMAKE_SOURCE_DIR}/regex
${ZLIB_INCLUDE_DIR}
${SSL_INCLUDE_DIRS}
${CMAKE_BINARY_DIR}/sql
${WSREP_INCLUDES}
)
SET(GEN_SOURCES
@ -35,6 +40,18 @@ ADD_DEFINITIONS(-DMYSQL_SERVER -DHAVE_EVENT_SCHEDULER -DHAVE_POOL_OF_THREADS)
IF(SSL_DEFINES)
ADD_DEFINITIONS(${SSL_DEFINES})
ENDIF()
IF(WITH_WSREP)
SET(WSREP_SOURCES
wsrep_check_opts.cc
wsrep_hton.cc
wsrep_mysqld.cc
wsrep_notify.cc
wsrep_sst.cc
wsrep_utils.cc
wsrep_var.cc
)
SET(WSREP_LIB wsrep)
ENDIF()
SET (SQL_SOURCE
../sql-common/client.c derror.cc des_key_file.cc
@ -90,6 +107,7 @@ SET (SQL_SOURCE
../sql-common/mysql_async.c
my_apc.cc my_apc.h
rpl_gtid.cc
${WSREP_SOURCES}
${GEN_SOURCES}
${MYSYS_LIBWRAP_SOURCE}
)
@ -109,6 +127,7 @@ DTRACE_INSTRUMENT(sql)
TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATIC_PLUGIN_LIBS}
mysys dbug strings vio regex
${LIBWRAP} ${LIBCRYPT} ${LIBDL}
${WSREP_LIB}
${SSL_LIBRARIES})
IF(WIN32)

View File

@ -1156,7 +1156,19 @@ end:
close_mysql_tables(thd);
DBUG_RETURN(ret);
}
#ifdef WITH_WSREP
int wsrep_create_event_query(THD *thd, uchar** buf, uint* buf_len)
{
String log_query;
if (create_query_string(thd, &log_query))
{
WSREP_WARN("events create string failed: %s", thd->query());
return 1;
}
return wsrep_to_buf_helper(thd, log_query.ptr(), log_query.length(), buf, buf_len);
}
#endif /* WITH_WSREP */
/**
@} (End of group Event_Scheduler)
*/

View File

@ -49,6 +49,9 @@
#include "../storage/maria/ha_maria.h"
#endif
#ifdef WITH_WSREP
#include "wsrep_mysqld.h"
#endif
/*
While we have legacy_db_type, we have this array to
check for dups and to find handlerton from legacy_db_type.
@ -1296,7 +1299,11 @@ int ha_commit_trans(THD *thd, bool all)
Free resources and perform other cleanup even for 'empty' transactions.
*/
if (is_real_trans)
thd->transaction.cleanup();
#ifdef WITH_WSREP
thd->transaction.cleanup(thd);
#else
thd->transaction.cleanup();
#endif /* WITH_WSREP */
DBUG_RETURN(0);
}
@ -1324,7 +1331,12 @@ int ha_commit_trans(THD *thd, bool all)
mdl_request.init(MDL_key::COMMIT, "", "", MDL_INTENTION_EXCLUSIVE,
MDL_EXPLICIT);
#ifdef WITH_WSREP
if (!WSREP(thd) &&
thd->mdl_context.acquire_lock(&mdl_request,
#else
if (thd->mdl_context.acquire_lock(&mdl_request,
#endif /* WITH_WSREP */
thd->variables.lock_wait_timeout))
{
ha_rollback_trans(thd, all);
@ -1371,6 +1383,19 @@ int ha_commit_trans(THD *thd, bool all)
err= ht->prepare(ht, thd, all);
status_var_increment(thd->status_var.ha_prepare_count);
if (err)
#ifdef WITH_WSREP
if (WSREP(thd) && ht->db_type== DB_TYPE_WSREP)
{
error= 1;
/* avoid sending error, if we need to replay */
if (thd->wsrep_conflict_state!= MUST_REPLAY)
{
my_error(ER_LOCK_DEADLOCK, MYF(0), err);
}
}
else
/* not wsrep hton, bail to native mysql behavior */
#endif
my_error(ER_ERROR_DURING_COMMIT, MYF(0), err);
if (err)
@ -1382,6 +1407,13 @@ int ha_commit_trans(THD *thd, bool all)
DEBUG_SYNC(thd, "ha_commit_trans_after_prepare");
DBUG_EXECUTE_IF("crash_commit_after_prepare", DBUG_SUICIDE(););
#ifdef WITH_WSREP
if (!error && wsrep_is_wsrep_xid(&thd->transaction.xid_state.xid))
{
// xid was rewritten by wsrep
xid= wsrep_xid_seqno(&thd->transaction.xid_state.xid);
}
#endif // WITH_WSREP
if (!is_real_trans)
{
error= commit_one_phase_2(thd, all, trans, is_real_trans);
@ -1470,6 +1502,18 @@ commit_one_phase_2(THD *thd, bool all, THD_TRANS *trans, bool is_real_trans)
int error= 0;
Ha_trx_info *ha_info= trans->ha_list, *ha_info_next;
DBUG_ENTER("commit_one_phase_2");
#ifdef WITH_WSREP
#ifdef WSREP_PROC_INFO
char info[64]= { 0, };
snprintf (info, sizeof(info) - 1, "ha_commit_one_phase(%lld)",
(long long)thd->wsrep_trx_seqno);
#else
const char info[]="ha_commit_one_phase()";
#endif /* WSREP_PROC_INFO */
char* tmp_info= NULL;
if (WSREP(thd)) tmp_info= (char *)thd_proc_info(thd, info);
#endif /* WITH_WSREP */
if (ha_info)
{
for (; ha_info; ha_info= ha_info_next)
@ -1498,7 +1542,14 @@ commit_one_phase_2(THD *thd, bool all, THD_TRANS *trans, bool is_real_trans)
}
/* Free resources and perform other cleanup even for 'empty' transactions. */
if (is_real_trans)
#ifdef WITH_WSREP
thd->transaction.cleanup(thd);
#else
thd->transaction.cleanup();
#endif /* WITH_WSREP */
#ifdef WITH_WSREP
if (WSREP(thd)) thd_proc_info(thd, tmp_info);
#endif /* WITH_WSREP */
DBUG_RETURN(error);
}
@ -1573,7 +1624,11 @@ int ha_rollback_trans(THD *thd, bool all)
}
/* Always cleanup. Even if nht==0. There may be savepoints. */
if (is_real_trans)
#ifdef WITH_WSREP
thd->transaction.cleanup(thd);
#else
thd->transaction.cleanup();
#endif /* WITH_WSREP */
if (all)
thd->transaction_rollback_request= FALSE;
@ -1738,7 +1793,13 @@ static my_bool xarecover_handlerton(THD *unused, plugin_ref plugin,
got, hton_name(hton)->str);
for (int i=0; i < got; i ++)
{
#ifdef WITH_WSREP
my_xid x=(wsrep_is_wsrep_xid(&info->list[i]) ?
wsrep_xid_seqno(&info->list[i]) :
info->list[i].get_my_xid());
#else
my_xid x=info->list[i].get_my_xid();
#endif /* WITH_WSREP */
if (!x) // not "mine" - that is generated by external TM
{
#ifndef DBUG_OFF
@ -2943,7 +3004,12 @@ int handler::update_auto_increment()
variables->auto_increment_increment);
auto_inc_intervals_count++;
/* Row-based replication does not need to store intervals in binlog */
#ifdef WITH_WSREP
if (((WSREP(thd) && wsrep_emulate_bin_log) || mysql_bin_log.is_open()) &&
!thd->is_current_stmt_binlog_format_row())
#else
if (mysql_bin_log.is_open() && !thd->is_current_stmt_binlog_format_row())
#endif /* WITH_WSREP */
thd->auto_inc_intervals_in_cur_stmt_for_binlog.append(auto_inc_interval_for_cur_row.minimum(),
auto_inc_interval_for_cur_row.values(),
variables->auto_increment_increment);
@ -5320,7 +5386,11 @@ static bool check_table_binlog_row_based(THD *thd, TABLE *table)
return (thd->is_current_stmt_binlog_format_row() &&
table->s->cached_row_logging_check &&
(thd->variables.option_bits & OPTION_BIN_LOG) &&
#ifdef WITH_WSREP
((WSREP(thd) && wsrep_emulate_bin_log) || mysql_bin_log.is_open()));
#else
mysql_bin_log.is_open());
#endif
}
@ -5653,6 +5723,64 @@ void signal_log_not_needed(struct handlerton, char *log_file)
}
#ifdef WITH_WSREP
/**
@details
This function makes the storage engine to force the victim transaction
to abort. Currently, only innodb has this functionality, but any SE
implementing the wsrep API should provide this service to support
multi-master operation.
@param bf_thd brute force THD asking for the abort
@param victim_thd victim THD to be aborted
@return
always 0
*/
int ha_wsrep_abort_transaction(THD *bf_thd, THD *victim_thd, my_bool signal)
{
DBUG_ENTER("ha_wsrep_abort_transaction");
if (!WSREP(bf_thd) &&
!(wsrep_OSU_method_options == WSREP_OSU_RSU &&
bf_thd->wsrep_exec_mode == TOTAL_ORDER)) {
DBUG_RETURN(0);
}
handlerton *hton= installed_htons[DB_TYPE_INNODB];
if (hton && hton->wsrep_abort_transaction)
{
hton->wsrep_abort_transaction(hton, bf_thd, victim_thd, signal);
}
else
{
WSREP_WARN("cannot abort InnoDB transaction");
}
DBUG_RETURN(0);
}
void ha_wsrep_fake_trx_id(THD *thd)
{
DBUG_ENTER("ha_wsrep_fake_trx_id");
if (!WSREP(thd))
{
DBUG_VOID_RETURN;
}
handlerton *hton= installed_htons[DB_TYPE_INNODB];
if (hton && hton->wsrep_fake_trx_id)
{
hton->wsrep_fake_trx_id(hton, thd);
}
else
{
WSREP_WARN("cannot get get fake InnoDB transaction ID");
}
DBUG_VOID_RETURN;
}
#endif /* WITH_WSREP */
#ifdef TRANS_LOG_MGM_EXAMPLE_CODE
/*
Example of transaction log management functions based on assumption that logs

View File

@ -372,6 +372,7 @@ enum legacy_db_type
DB_TYPE_PBXT=23,
DB_TYPE_MARIA=27,
DB_TYPE_PERFORMANCE_SCHEMA=28,
DB_TYPE_WSREP=41,
DB_TYPE_FIRST_DYNAMIC=42,
DB_TYPE_DEFAULT=127 // Must be last
};
@ -1107,6 +1108,13 @@ struct handlerton
enum handler_create_iterator_result
(*create_iterator)(handlerton *hton, enum handler_iterator_type type,
struct handler_iterator *fill_this_in);
#ifdef WITH_WSREP
int (*wsrep_abort_transaction)(handlerton *hton, THD *bf_thd,
THD *victim_thd, my_bool signal);
int (*wsrep_set_checkpoint)(handlerton *hton, const XID* xid);
int (*wsrep_get_checkpoint)(handlerton *hton, XID* xid);
void (*wsrep_fake_trx_id)(handlerton *hton, THD *thd);
#endif /* WITH_WSREP */
/*
Optional clauses in the CREATE/ALTER TABLE
*/
@ -3154,6 +3162,9 @@ bool key_uses_partial_cols(TABLE *table, uint keyno);
extern const char *ha_row_type[];
extern MYSQL_PLUGIN_IMPORT const char *tx_isolation_names[];
extern MYSQL_PLUGIN_IMPORT const char *binlog_format_names[];
#ifdef WITH_WSREP
extern MYSQL_PLUGIN_IMPORT const char *wsrep_binlog_format_names[];
#endif /* WITH_WSREP */
extern TYPELIB tx_isolation_typelib;
extern const char *myisam_stats_method_names[];
extern ulong total_ha, total_ha_2pc;
@ -3269,6 +3280,10 @@ int ha_enable_transaction(THD *thd, bool on);
int ha_rollback_to_savepoint(THD *thd, SAVEPOINT *sv);
int ha_savepoint(THD *thd, SAVEPOINT *sv);
int ha_release_savepoint(THD *thd, SAVEPOINT *sv);
#ifdef WITH_WSREP
int ha_wsrep_abort_transaction(THD *bf_thd, THD *victim_thd, my_bool signal);
void ha_wsrep_fake_trx_id(THD *thd);
#endif /* WITH_WSREP */
/* these are called by storage engines */
void trans_register_ha(THD *thd, bool all, handlerton *ht);
@ -3299,6 +3314,9 @@ int ha_binlog_end(THD *thd);
#define ha_binlog_wait(a) do {} while (0)
#define ha_binlog_end(a) do {} while (0)
#endif
#ifdef WITH_WSREP
void wsrep_brute_force_aborts();
#endif
const char *get_canonical_filename(handler *file, const char *path,
char *tmp_path);

View File

@ -2596,7 +2596,19 @@ void Item_func_rand::seed_random(Item *arg)
TODO: do not do reinit 'rand' for every execute of PS/SP if
args[0] is a constant.
*/
#ifdef WITH_WSREP
uint32 tmp;
if (WSREP(current_thd))
{
if (current_thd->wsrep_exec_mode==REPL_RECV)
tmp= current_thd->wsrep_rand;
else
tmp= current_thd->wsrep_rand= (uint32) arg->val_int();
} else
tmp= (uint32) arg->val_int();
#else
uint32 tmp= (uint32) arg->val_int();
#endif /* WITH_WSREP */
my_rnd_init(rand, (uint32) (tmp*0x10001L+55555555L),
(uint32) (tmp*0x10000001L));
}

View File

@ -84,6 +84,10 @@
#include <hash.h>
#include <assert.h>
#ifdef WITH_WSREP
#include "wsrep_mysqld.h"
#endif /* WITH_WSREP */
/**
@defgroup Locking Locking
@{
@ -314,6 +318,9 @@ bool mysql_lock_tables(THD *thd, MYSQL_LOCK *sql_lock, uint flags)
/* Copy the lock data array. thr_multi_lock() reorders its contents. */
memcpy(sql_lock->locks + sql_lock->lock_count, sql_lock->locks,
sql_lock->lock_count * sizeof(*sql_lock->locks));
#ifdef WITH_WSREP
thd->lock_info.in_lock_tables= thd->in_lock_tables;
#endif /* Lock on the copied half of the lock data array. */
/* Lock on the copied half of the lock data array. */
rc= thr_lock_errno_to_mysql[(int) thr_multi_lock(sql_lock->locks +
sql_lock->lock_count,
@ -334,6 +341,9 @@ end:
my_error(rc, MYF(0));
thd->set_time_after_lock();
#ifdef WITH_WSREP
thd_proc_info(thd, "exit mysqld_lock_tables()");
#endif /* WITH_WSREP */
DBUG_RETURN(rc);
}
@ -1051,11 +1061,15 @@ void Global_read_lock::unlock_global_read_lock(THD *thd)
{
thd->mdl_context.release_lock(m_mdl_blocks_commits_lock);
m_mdl_blocks_commits_lock= NULL;
#ifdef WITH_WSREP
wsrep_locked_seqno= WSREP_SEQNO_UNDEFINED;
wsrep->resume(wsrep);
#endif /* WITH_WSREP */
}
thd->mdl_context.release_lock(m_mdl_global_shared_lock);
m_mdl_global_shared_lock= NULL;
m_state= GRL_NONE;
DBUG_VOID_RETURN;
}
@ -1083,6 +1097,20 @@ bool Global_read_lock::make_global_read_lock_block_commit(THD *thd)
If we didn't succeed lock_global_read_lock(), or if we already suceeded
make_global_read_lock_block_commit(), do nothing.
*/
#ifdef WITH_WSREP
if (m_mdl_blocks_commits_lock)
{
WSREP_DEBUG("GRL was in block commit mode when entering "
"make_global_read_lock_block_commit");
thd->mdl_context.release_lock(m_mdl_blocks_commits_lock);
m_mdl_blocks_commits_lock= NULL;
wsrep_locked_seqno= WSREP_SEQNO_UNDEFINED;
wsrep->resume(wsrep);
m_state= GRL_ACQUIRED;
}
#endif /* WITH_WSREP */
if (m_state != GRL_ACQUIRED)
DBUG_RETURN(0);
@ -1095,6 +1123,22 @@ bool Global_read_lock::make_global_read_lock_block_commit(THD *thd)
m_mdl_blocks_commits_lock= mdl_request.ticket;
m_state= GRL_ACQUIRED_AND_BLOCKS_COMMIT;
#ifdef WITH_WSREP
long long ret = wsrep->pause(wsrep);
if (ret >= 0)
{
wsrep_locked_seqno= ret;
}
else if (ret != -ENOSYS) /* -ENOSYS - no provider */
{
WSREP_ERROR("Failed to pause provider: %lld (%s)", -ret, strerror(-ret));
/* m_mdl_blocks_commits_lock is always NULL here */
wsrep_locked_seqno= WSREP_SEQNO_UNDEFINED;
my_error(ER_LOCK_DEADLOCK, MYF(0));
DBUG_RETURN(TRUE);
}
#endif /* WITH_WSREP */
DBUG_RETURN(FALSE);
}

View File

@ -52,6 +52,9 @@
#include "sql_plugin.h"
#include "rpl_handler.h"
#ifdef WITH_WSREP
#include "wsrep_mysqld.h"
#endif /* WITH_WSREP */
#include "debug_sync.h"
#include "sql_show.h"
#include "my_pthread.h"
@ -509,6 +512,9 @@ private:
};
handlerton *binlog_hton;
#ifdef WITH_WSREP
extern handlerton *wsrep_hton;
#endif
bool LOGGER::is_log_table_enabled(uint log_table_type)
{
@ -523,6 +529,134 @@ bool LOGGER::is_log_table_enabled(uint log_table_type)
}
}
#ifdef WITH_WSREP
IO_CACHE * get_trans_log(THD * thd)
{
binlog_cache_mngr *cache_mngr = (binlog_cache_mngr*)
thd_get_ha_data(thd, binlog_hton);
if (cache_mngr)
{
return cache_mngr->get_binlog_cache_log(true);
}
else
{
WSREP_DEBUG("binlog cache not initialized, conn :%ld", thd->thread_id);
return NULL;
}
}
bool wsrep_trans_cache_is_empty(THD *thd)
{
bool res= TRUE;
if (thd_sql_command((const THD*) thd) != SQLCOM_SELECT)
res= FALSE;
else
{
binlog_cache_mngr *const cache_mngr=
(binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
if (cache_mngr)
{
res= cache_mngr->trx_cache.empty();
}
}
return res;
}
void thd_binlog_flush_pending_rows_event(THD *thd, bool stmt_end)
{
thd->binlog_flush_pending_rows_event(stmt_end);
}
void thd_binlog_trx_reset(THD * thd)
{
/*
todo: fix autocommit select to not call the caller
*/
if (thd_get_ha_data(thd, binlog_hton) != NULL)
{
binlog_cache_mngr *const cache_mngr=
(binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
if (cache_mngr) cache_mngr->reset(TRUE, TRUE);
}
thd->clear_binlog_table_maps();
}
void thd_binlog_rollback_stmt(THD * thd)
{
WSREP_DEBUG("thd_binlog_rollback_stmt :%ld", thd->thread_id);
binlog_cache_mngr *const cache_mngr=
(binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
if (cache_mngr) cache_mngr->trx_cache.set_prev_position(MY_OFF_T_UNDEF);
}
/*
Write the contents of a cache to memory buffer.
This function quite the same as MYSQL_BIN_LOG::write_cache(),
with the exception that here we write in buffer instead of log file.
*/
int wsrep_write_cache(IO_CACHE *cache, uchar **buf, uint *buf_len)
{
if (reinit_io_cache(cache, READ_CACHE, 0, 0, 0))
return ER_ERROR_ON_WRITE;
uint length= my_b_bytes_in_cache(cache);
long long total_length = 0;
uchar *buf_ptr = NULL;
do
{
/* bail out if buffer grows too large
This is a temporary fix to avoid flooding replication
TODO: remove this check for 0.7.4 release
*/
if (total_length > wsrep_max_ws_size)
{
WSREP_WARN("transaction size limit (%lld) exceeded: %lld",
wsrep_max_ws_size, total_length);
if (reinit_io_cache(cache, WRITE_CACHE, 0, 0, 0))
{
WSREP_WARN("failed to initialize io-cache");
}
if (buf_ptr) my_free(*buf);
*buf_len = 0;
return ER_ERROR_ON_WRITE;
}
if (total_length > 0)
{
*buf_len += length;
*buf = (uchar *)my_realloc(*buf, total_length+length, MYF(0));
if (!*buf)
{
WSREP_ERROR("io cache write problem: %d %d", *buf_len, length);
return ER_ERROR_ON_WRITE;
}
buf_ptr = *buf+total_length;
}
else
{
if (buf_ptr != NULL)
{
WSREP_ERROR("io cache alloc error: %d %d", *buf_len, length);
my_free(*buf);
}
if (length > 0)
{
*buf = (uchar *) my_malloc(length, MYF(0));
buf_ptr = *buf;
*buf_len = length;
}
}
total_length += length;
memcpy(buf_ptr, cache->read_pos, length);
cache->read_pos=cache->read_end;
} while ((cache->file >= 0) && (length= my_b_fill(cache)));
return 0;
}
#endif
/* Check if a given table is opened log table */
int check_if_log_table(size_t db_len, const char *db, size_t table_name_len,
@ -1555,7 +1689,11 @@ binlog_trans_log_savepos(THD *thd, my_off_t *pos)
DBUG_ENTER("binlog_trans_log_savepos");
DBUG_ASSERT(pos != NULL);
binlog_cache_mngr *const cache_mngr= thd->binlog_setup_trx_data();
#ifdef WITH_WSREP
DBUG_ASSERT((WSREP(thd) && wsrep_emulate_bin_log) || mysql_bin_log.is_open());
#else
DBUG_ASSERT(mysql_bin_log.is_open());
#endif
*pos= cache_mngr->trx_cache.get_byte_position();
DBUG_PRINT("return", ("*pos: %lu", (ulong) *pos));
DBUG_VOID_RETURN;
@ -1603,7 +1741,16 @@ binlog_trans_log_truncate(THD *thd, my_off_t pos)
int binlog_init(void *p)
{
binlog_hton= (handlerton *)p;
#ifdef WITH_WSREP
if (WSREP_ON)
binlog_hton->state= SHOW_OPTION_YES;
else
{
#endif /* WITH_WSREP */
binlog_hton->state=opt_bin_log ? SHOW_OPTION_YES : SHOW_OPTION_NO;
#ifdef WITH_WSREP
}
#endif /* WITH_WSREP */
binlog_hton->db_type=DB_TYPE_BINLOG;
binlog_hton->savepoint_offset= sizeof(my_off_t);
binlog_hton->close_connection= binlog_close_connection;
@ -1718,6 +1865,13 @@ static inline int
binlog_commit_flush_stmt_cache(THD *thd, bool all,
binlog_cache_mngr *cache_mngr)
{
#ifdef WITH_WSREP
if (thd->wsrep_mysql_replicated > 0)
{
WSREP_DEBUG("avoiding binlog_commit_flush_trx_cache: %d", thd->wsrep_mysql_replicated);
return 0;
}
#endif
Query_log_event end_evt(thd, STRING_WITH_LEN("COMMIT"),
FALSE, TRUE, TRUE, 0);
return (binlog_flush_cache(thd, cache_mngr, &end_evt, all, TRUE, FALSE));
@ -1873,6 +2027,9 @@ static int binlog_commit(handlerton *hton, THD *thd, bool all)
DBUG_ENTER("binlog_commit");
binlog_cache_mngr *const cache_mngr=
(binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
#ifdef WITH_WSREP
if (!cache_mngr) DBUG_RETURN(0);
#endif /* WITH_WSREP */
DBUG_PRINT("debug",
("all: %d, in_transaction: %s, all.modified_non_trans_table: %s, stmt.modified_non_trans_table: %s",
@ -1929,6 +2086,9 @@ static int binlog_rollback(handlerton *hton, THD *thd, bool all)
int error= 0;
binlog_cache_mngr *const cache_mngr=
(binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
#ifdef WITH_WSREP
if (!cache_mngr) DBUG_RETURN(0);
#endif /* WITH_WSREP */
DBUG_PRINT("debug", ("all: %s, all.modified_non_trans_table: %s, stmt.modified_non_trans_table: %s",
YESNO(all),
@ -1957,8 +2117,12 @@ static int binlog_rollback(handlerton *hton, THD *thd, bool all)
cache_mngr->reset(false, true);
DBUG_RETURN(error);
}
#ifdef WITH_WSREP
if (!wsrep_emulate_bin_log &&
mysql_bin_log.check_write_error(thd))
#else
if (mysql_bin_log.check_write_error(thd))
#endif
{
/*
"all == true" means that a "rollback statement" triggered the error and
@ -1988,12 +2152,12 @@ static int binlog_rollback(handlerton *hton, THD *thd, bool all)
if (ending_trans(thd, all) &&
((thd->variables.option_bits & OPTION_KEEP_LOG) ||
(trans_has_updated_non_trans_table(thd) &&
thd->variables.binlog_format == BINLOG_FORMAT_STMT) ||
WSREP_FORMAT(thd->variables.binlog_format) == BINLOG_FORMAT_STMT) ||
(cache_mngr->trx_cache.changes_to_non_trans_temp_table() &&
thd->variables.binlog_format == BINLOG_FORMAT_MIXED) ||
WSREP_FORMAT(thd->variables.binlog_format) == BINLOG_FORMAT_MIXED) ||
(trans_has_updated_non_trans_table(thd) &&
ending_single_stmt_trans(thd,all) &&
thd->variables.binlog_format == BINLOG_FORMAT_MIXED)))
WSREP_FORMAT(thd->variables.binlog_format) == BINLOG_FORMAT_MIXED)))
error= binlog_rollback_flush_trx_cache(thd, all, cache_mngr);
/*
Truncate the cache if:
@ -2007,9 +2171,9 @@ static int binlog_rollback(handlerton *hton, THD *thd, bool all)
else if (ending_trans(thd, all) ||
(!(thd->variables.option_bits & OPTION_KEEP_LOG) &&
(!stmt_has_updated_non_trans_table(thd) ||
thd->variables.binlog_format != BINLOG_FORMAT_STMT) &&
WSREP_FORMAT(thd->variables.binlog_format) != BINLOG_FORMAT_STMT) &&
(!cache_mngr->trx_cache.changes_to_non_trans_temp_table() ||
thd->variables.binlog_format != BINLOG_FORMAT_MIXED)))
WSREP_FORMAT(thd->variables.binlog_format) != BINLOG_FORMAT_MIXED)))
error= binlog_truncate_trx_cache(thd, cache_mngr, all);
}
@ -2103,6 +2267,9 @@ static int binlog_savepoint_set(handlerton *hton, THD *thd, void *sv)
int error= 1;
char buf[1024];
#ifdef WITH_WSREP
if (wsrep_emulate_bin_log) DBUG_RETURN(0);
#endif /* WITH_WSREP */
String log_query(buf, sizeof(buf), &my_charset_bin);
if (log_query.copy(STRING_WITH_LEN("SAVEPOINT "), &my_charset_bin) ||
append_identifier(thd, &log_query,
@ -2139,7 +2306,12 @@ static int binlog_savepoint_rollback(handlerton *hton, THD *thd, void *sv)
non-transactional table. Otherwise, truncate the binlog cache starting
from the SAVEPOINT command.
*/
#ifdef WITH_WSREP
if (!wsrep_emulate_bin_log &&
unlikely(trans_has_updated_non_trans_table(thd) ||
#else
if (unlikely(trans_has_updated_non_trans_table(thd) ||
#endif
(thd->variables.option_bits & OPTION_KEEP_LOG)))
{
char buf[1024];
@ -5076,6 +5248,7 @@ binlog_cache_mngr *THD::binlog_setup_trx_data()
DBUG_RETURN(cache_mngr);
}
/*
Function to start a statement and optionally a transaction for the
binary log.
@ -5193,7 +5366,12 @@ int THD::binlog_write_table_map(TABLE *table, bool is_transactional,
table->s->table_map_id));
/* Pre-conditions */
#ifdef WITH_WSREP
DBUG_ASSERT(is_current_stmt_binlog_format_row() &&
(WSREP_EMULATE_BINLOG(this) || mysql_bin_log.is_open()));
#else
DBUG_ASSERT(is_current_stmt_binlog_format_row() && mysql_bin_log.is_open());
#endif
DBUG_ASSERT(table->s->table_map_id != ULONG_MAX);
Table_map_log_event
@ -5326,7 +5504,11 @@ MYSQL_BIN_LOG::flush_and_set_pending_rows_event(THD *thd,
bool is_transactional)
{
DBUG_ENTER("MYSQL_BIN_LOG::flush_and_set_pending_rows_event(event)");
#ifdef WITH_WSREP
DBUG_ASSERT(WSREP_EMULATE_BINLOG(thd) || mysql_bin_log.is_open());
#else
DBUG_ASSERT(mysql_bin_log.is_open());
#endif
DBUG_PRINT("enter", ("event: 0x%lx", (long) event));
int error= 0;
@ -5645,7 +5827,11 @@ bool MYSQL_BIN_LOG::write(Log_event *event_info, my_bool *with_annotate)
mostly called if is_open() *was* true a few instructions before, but it
could have changed since.
*/
#ifdef WITH_WSREP
if ((WSREP(thd) && wsrep_emulate_bin_log) || is_open())
#else
if (likely(is_open()))
#endif
{
my_off_t UNINIT_VAR(my_org_b_tell);
#ifdef HAVE_REPLICATION
@ -5827,6 +6013,35 @@ err:
}
}
#ifdef WITH_WSREP
if (WSREP(thd) && wsrep_incremental_data_collection &&
(wsrep_emulate_bin_log || mysql_bin_log.is_open()))
{
DBUG_ASSERT(thd->wsrep_trx_handle.trx_id != (unsigned long)-1);
if (!error)
{
IO_CACHE* cache= get_trans_log(thd);
uchar* buf= NULL;
uint buf_len= 0;
if (wsrep_emulate_bin_log)
thd->binlog_flush_pending_rows_event(false);
error= wsrep_write_cache(cache, &buf, &buf_len);
if (!error && buf_len > 0)
{
wsrep_status_t rc= wsrep->append_data(wsrep,
&thd->wsrep_trx_handle,
buf, buf_len);
if (rc != WSREP_OK)
{
sql_print_warning("WSREP: append_data() returned %d", rc);
error= 1;
}
}
if (buf_len) my_free(buf);
}
}
#endif /* WITH_WSREP */
DBUG_RETURN(error);
}
@ -5982,6 +6197,14 @@ int MYSQL_BIN_LOG::rotate(bool force_rotate, bool* check_purge)
{
int error= 0;
DBUG_ENTER("MYSQL_BIN_LOG::rotate");
#ifdef WITH_WSREP
if (WSREP_ON && wsrep_to_isolation)
{
WSREP_DEBUG("avoiding binlog rotate due to TO isolation: %d",
wsrep_to_isolation);
DBUG_RETURN(0);
}
#endif
//todo: fix the macro def and restore safe_mutex_assert_owner(&LOCK_log);
*check_purge= false;
@ -6528,6 +6751,9 @@ MYSQL_BIN_LOG::write_transaction_to_binlog(THD *thd,
Ha_trx_info *ha_info;
DBUG_ENTER("MYSQL_BIN_LOG::write_transaction_to_binlog");
#ifdef WITH_WSREP
if (wsrep_emulate_bin_log) DBUG_RETURN(0);
#endif /* WITH_WSREP */
entry.thd= thd;
entry.cache_mngr= cache_mngr;
entry.error= 0;
@ -8321,7 +8547,14 @@ TC_LOG_BINLOG::log_and_order(THD *thd, my_xid xid, bool all,
binlog_cache_mngr *cache_mngr= thd->binlog_setup_trx_data();
if (!cache_mngr)
#ifdef WITH_WSREP
{
WSREP_DEBUG("Skipping empty log_xid: %s", thd->query());
DBUG_RETURN(0);
}
#else
DBUG_RETURN(0);
#endif /* WITH_WSREP */
cache_mngr->using_xa= TRUE;
cache_mngr->xa_xid= xid;

View File

@ -95,7 +95,7 @@ public:
int log_and_order(THD *thd, my_xid xid, bool all,
bool need_prepare_ordered, bool need_commit_ordered)
{
DBUG_ASSERT(0 /* Internal error - TC_LOG_DUMMY::log_and_order() called */);
//DBUG_ASSERT(0 /* Internal error - TC_LOG_DUMMY::log_and_order() called */);
return 1;
}
int unlog(ulong cookie, my_xid xid) { return 0; }
@ -287,6 +287,12 @@ enum enum_log_state { LOG_OPENED, LOG_CLOSED, LOG_TO_BE_OPENED };
(mmap+fsync is two times faster than write+fsync)
*/
#ifdef WITH_WSREP
extern my_bool wsrep_emulate_bin_log;
Log_event* wsrep_read_log_event(
char **arg_buf, size_t *arg_buf_len,
const Format_description_log_event *description_event);
#endif
class MYSQL_LOG
{
public:
@ -952,12 +958,30 @@ public:
};
enum enum_binlog_format {
/*
statement-based except for cases where only row-based can work (UUID()
etc):
*/
BINLOG_FORMAT_MIXED= 0, ///< statement if safe, otherwise row - autodetected
BINLOG_FORMAT_STMT= 1, ///< statement-based
BINLOG_FORMAT_ROW= 2, ///< row-based
BINLOG_FORMAT_UNSPEC=3 ///< thd_binlog_format() returns it when binlog is closed
};
#ifdef WITH_WSREP
IO_CACHE * get_trans_log(THD * thd);
bool wsrep_trans_cache_is_empty(THD *thd);
void thd_binlog_flush_pending_rows_event(THD *thd, bool stmt_end);
void thd_binlog_trx_reset(THD * thd);
void thd_binlog_rollback_stmt(THD * thd);
int wsrep_write_cache(IO_CACHE *cache, uchar **buf, uint *buf_len);
#define WSREP_FORMAT(my_format) \
((wsrep_forced_binlog_format != BINLOG_FORMAT_UNSPEC) ? \
wsrep_forced_binlog_format : my_format)
#else
#define WSREP_FORMAT(my_format) my_format
#endif
int query_error_code(THD *thd, bool not_killed);
uint purge_log_get_error_code(int res);

View File

@ -49,6 +49,9 @@
#include "sql_show.h" // append_identifier
#include <strfunc.h>
#if WITH_WSREP
#include "wsrep_mysqld.h"
#endif
#endif /* MYSQL_CLIENT */
#include <base64.h>
@ -2873,7 +2876,9 @@ Query_log_event::Query_log_event(THD* thd_arg, const char* query_arg,
master_data_written(0)
{
time_t end_time;
#ifdef WITH_WSREP
thd->wsrep_PA_safe= false;
#endif /* WITH_WSREP */
memset(&user, 0, sizeof(user));
memset(&host, 0, sizeof(host));
@ -9078,10 +9083,21 @@ int Rows_log_event::do_apply_event(Relay_log_info const *rli)
thd->variables.option_bits&= ~OPTION_RELAXED_UNIQUE_CHECKS;
/* A small test to verify that objects have consistent types */
DBUG_ASSERT(sizeof(thd->variables.option_bits) == sizeof(OPTION_RELAXED_UNIQUE_CHECKS));
if (open_and_lock_tables(thd, rli->tables_to_lock, FALSE, 0))
{
uint actual_error= thd->stmt_da->sql_errno();
#ifdef WITH_WSREP
if (WSREP(thd))
{
WSREP_WARN("BF applier failed to open_and_lock_tables: %u, fatal: %d "
"wsrep = (exec_mode: %d conflict_state: %d seqno: %lld)",
thd->stmt_da->sql_errno(),
thd->is_fatal_error,
thd->wsrep_exec_mode,
thd->wsrep_conflict_state,
(long long)thd->wsrep_trx_seqno);
}
#endif
if (thd->is_slave_error || thd->is_fatal_error)
{
/*
@ -10190,7 +10206,12 @@ check_table_map(Relay_log_info const *rli, RPL_TABLE_LIST *table_list)
DBUG_ENTER("check_table_map");
enum_tbl_map_status res= OK_TO_PROCESS;
#ifdef WITH_WSREP
if ((rli->sql_thd->slave_thread /* filtering is for slave only */ ||
(WSREP(rli->sql_thd) && rli->sql_thd->wsrep_applier)) &&
#else
if (rli->sql_thd->slave_thread /* filtering is for slave only */ &&
#endif /* WITH_WSREP */
(!rli->mi->rpl_filter->db_ok(table_list->db) ||
(rli->mi->rpl_filter->is_on() && !rli->mi->rpl_filter->tables_ok("", table_list))))
res= FILTERED_OUT;
@ -10833,8 +10854,23 @@ int
Write_rows_log_event::do_exec_row(const Relay_log_info *const rli)
{
DBUG_ASSERT(m_table != NULL);
#ifdef WITH_WSREP
#ifdef WSREP_PROC_INFO
char info[64];
info[sizeof(info) - 1] = '\0';
snprintf(info, sizeof(info) - 1, "Write_rows_log_event::write_row(%lld)",
(long long) thd->wsrep_trx_seqno);
const char* tmp = (WSREP(thd)) ? thd_proc_info(thd, info) : NULL;
#else
const char* tmp = (WSREP(thd)) ?
thd_proc_info(thd,"Write_rows_log_event::write_row()") : NULL;
#endif /* WSREP_PROC_INFO */
#endif /* WITH_WSREP */
int error= write_row(rli, slave_exec_mode == SLAVE_EXEC_MODE_IDEMPOTENT);
#ifdef WITH_WSREP
if (WSREP(thd)) thd_proc_info(thd, tmp);
#endif /* WITH_WSREP */
if (error && !thd->is_error())
{
DBUG_ASSERT(0);
@ -11499,14 +11535,39 @@ int Delete_rows_log_event::do_exec_row(const Relay_log_info *const rli)
int error;
DBUG_ASSERT(m_table != NULL);
#ifdef WITH_WSREP
#ifdef WSREP_PROC_INFO
char info[64];
info[sizeof(info) - 1] = '\0';
snprintf(info, sizeof(info) - 1, "Delete_rows_log_event::find_row(%lld)",
(long long) thd->wsrep_trx_seqno);
const char* tmp = (WSREP(thd)) ? thd_proc_info(thd, info) : NULL;
#else
const char* tmp = (WSREP(thd)) ?
thd_proc_info(thd,"Delete_rows_log_event::find_row()") : NULL;
#endif /* WSREP_PROC_INFO */
#endif /* WITH_WSREP */
if (!(error= find_row(rli)))
{
/*
Delete the record found, located in record[0]
*/
#ifdef WITH_WSREP
#ifdef WSREP_PROC_INFO
snprintf(info, sizeof(info) - 1,
"Delete_rows_log_event::ha_delete_row(%lld)",
(long long) thd->wsrep_trx_seqno);
if (WSREP(thd)) thd_proc_info(thd, info);
#else
if (WSREP(thd)) thd_proc_info(thd,"Delete_rows_log_event::ha_delete_row()");
#endif /* WSREP_PROC_INFO */
#endif /* WITH_WSREP */
error= m_table->file->ha_delete_row(m_table->record[0]);
m_table->file->ha_index_or_rnd_end();
}
#ifdef WITH_WSREP
if (WSREP(thd)) thd_proc_info(thd, tmp);
#endif /* WITH_WSREP */
return error;
}
@ -11624,6 +11685,18 @@ Update_rows_log_event::do_exec_row(const Relay_log_info *const rli)
{
DBUG_ASSERT(m_table != NULL);
#ifdef WITH_WSREP
#ifdef WSREP_PROC_INFO
char info[64];
info[sizeof(info) - 1] = '\0';
snprintf(info, sizeof(info) - 1, "Update_rows_log_event::find_row(%lld)",
(long long) thd->wsrep_trx_seqno);
const char* tmp = (WSREP(thd)) ? thd_proc_info(thd, info) : NULL;
#else
const char* tmp = (WSREP(thd)) ?
thd_proc_info(thd,"Update_rows_log_event::find_row()") : NULL;
#endif /* WSREP_PROC_INFO */
#endif /* WITH_WSREP */
int error= find_row(rli);
if (error)
{
@ -11650,6 +11723,17 @@ Update_rows_log_event::do_exec_row(const Relay_log_info *const rli)
store_record(m_table,record[1]);
m_curr_row= m_curr_row_end;
#ifdef WITH_WSREP
#ifdef WSREP_PROC_INFO
snprintf(info, sizeof(info) - 1,
"Update_rows_log_event::unpack_current_row(%lld)",
(long long) thd->wsrep_trx_seqno);
if (WSREP(thd)) thd_proc_info(thd, info);
#else
if (WSREP(thd))
thd_proc_info(thd,"Update_rows_log_event::unpack_current_row()");
#endif /* WSREP_PROC_INFO */
#endif /* WITH_WSREP */
/* this also updates m_curr_row_end */
if ((error= unpack_current_row(rli)))
goto err;
@ -11668,10 +11752,23 @@ Update_rows_log_event::do_exec_row(const Relay_log_info *const rli)
DBUG_DUMP("new values", m_table->record[0], m_table->s->reclength);
#endif
#ifdef WITH_WSREP
#ifdef WSREP_PROC_INFO
snprintf(info, sizeof(info) - 1,
"Update_rows_log_event::ha_update_row(%lld)",
(long long) thd->wsrep_trx_seqno);
if (WSREP(thd)) thd_proc_info(thd, info);
#else
if (WSREP(thd)) thd_proc_info(thd,"Update_rows_log_event::ha_update_row()");
#endif /* WSREP_PROC_INFO */
#endif /* WITH_WSREP */
error= m_table->file->ha_update_row(m_table->record[1], m_table->record[0]);
if (error == HA_ERR_RECORD_IS_THE_SAME)
error= 0;
#ifdef WITH_WSREP
if (WSREP(thd)) thd_proc_info(thd, tmp);
#endif /* WITH_WSREP */
err:
m_table->file->ha_index_or_rnd_end();
return error;
@ -11756,6 +11853,48 @@ void Incident_log_event::pack_info(THD *thd, Protocol *protocol)
protocol->store(buf, bytes, &my_charset_bin);
}
#endif
#if WITH_WSREP && !defined(MYSQL_CLIENT)
Format_description_log_event *wsrep_format_desc; // TODO: free them at the end
/*
read the first event from (*buf). The size of the (*buf) is (*buf_len).
At the end (*buf) is shitfed to point to the following event or NULL and
(*buf_len) will be changed to account just being read bytes of the 1st event.
*/
#define WSREP_MAX_ALLOWED_PACKET 1024*1024*1024 // current protocol max
Log_event* wsrep_read_log_event(
char **arg_buf, size_t *arg_buf_len,
const Format_description_log_event *description_event)
{
DBUG_ENTER("wsrep_read_log_event");
char *head= (*arg_buf);
uint data_len = uint4korr(head + EVENT_LEN_OFFSET);
char *buf= (*arg_buf);
const char *error= 0;
Log_event *res= 0;
if (data_len > WSREP_MAX_ALLOWED_PACKET)
{
error = "Event too big";
goto err;
}
res= Log_event::read_log_event(buf, data_len, &error, description_event, FALSE);
err:
if (!res)
{
DBUG_ASSERT(error != 0);
sql_print_error("Error in Log_event::read_log_event(): "
"'%s', data_len: %d, event_type: %d",
error,data_len,head[EVENT_TYPE_OFFSET]);
}
(*arg_buf)+= data_len;
(*arg_buf_len)-= data_len;
DBUG_RETURN(res);
}
#endif
#ifdef MYSQL_CLIENT

View File

@ -22,6 +22,17 @@
#include <mysql/plugin.h>
#include <mysql/service_thd_wait.h>
#include <mysql/psi/mysql_stage.h>
#ifdef WITH_WSREP
#include "wsrep_mysqld.h"
extern "C" my_thread_id wsrep_thd_thread_id(THD *thd);
extern "C" char *wsrep_thd_query(THD *thd);
void sql_print_information(const char *format, ...)
ATTRIBUTE_FORMAT(printf, 1, 2);
extern bool
wsrep_grant_mdl_exception(MDL_context *requestor_ctx,
MDL_ticket *ticket);
#endif /* WITH_WSREP */
#ifdef HAVE_PSI_INTERFACE
static PSI_mutex_key key_MDL_map_mutex;
@ -1311,11 +1322,54 @@ void MDL_lock::Ticket_list::add_ticket(MDL_ticket *ticket)
called by other threads.
*/
DBUG_ASSERT(ticket->get_lock());
#ifdef WITH_WSREP
if ((this == &(ticket->get_lock()->m_waiting)) &&
wsrep_thd_is_brute_force((void *)(ticket->get_ctx()->get_thd())))
{
Ticket_iterator itw(ticket->get_lock()->m_waiting);
Ticket_iterator itg(ticket->get_lock()->m_granted);
MDL_ticket *waiting, *granted;
MDL_ticket *prev=NULL;
bool added= false;
while ((waiting= itw++) && !added)
{
if (!wsrep_thd_is_brute_force((void *)(waiting->get_ctx()->get_thd())))
{
WSREP_DEBUG("MDL add_ticket inserted before: %lu %s",
wsrep_thd_thread_id(waiting->get_ctx()->get_thd()),
wsrep_thd_query(waiting->get_ctx()->get_thd()));
m_list.insert_after(prev, ticket);
added= true;
}
prev= waiting;
}
if (!added) m_list.push_back(ticket);
while ((granted= itg++))
{
if (granted->get_ctx() != ticket->get_ctx() &&
granted->is_incompatible_when_granted(ticket->get_type()))
{
if (!wsrep_grant_mdl_exception(ticket->get_ctx(), granted))
{
WSREP_DEBUG("MDL victim killed at add_ticket");
}
}
}
}
else
{
#endif /* WITH_WSREP */
/*
Add ticket to the *back* of the queue to ensure fairness
among requests with the same priority.
*/
m_list.push_back(ticket);
#ifdef WITH_WSREP
}
#endif /* WITH_WSREP */
m_bitmap|= MDL_BIT(ticket->get_type());
}
@ -1621,7 +1675,6 @@ MDL_object_lock::m_waiting_incompatible[MDL_TYPE_END] =
0
};
/**
Check if request for the metadata lock can be satisfied given its
current state.
@ -1646,6 +1699,9 @@ MDL_lock::can_grant_lock(enum_mdl_type type_arg,
bool can_grant= FALSE;
bitmap_t waiting_incompat_map= incompatible_waiting_types_bitmap()[type_arg];
bitmap_t granted_incompat_map= incompatible_granted_types_bitmap()[type_arg];
#ifdef WITH_WSREP
bool wsrep_can_grant= TRUE;
#endif /* WITH_WSREP */
/*
New lock request can be satisfied iff:
@ -1668,12 +1724,59 @@ MDL_lock::can_grant_lock(enum_mdl_type type_arg,
{
if (ticket->get_ctx() != requestor_ctx &&
ticket->is_incompatible_when_granted(type_arg))
#ifdef WITH_WSREP
{
if (wsrep_thd_is_brute_force((void *)(requestor_ctx->get_thd())) &&
key.mdl_namespace() == MDL_key::GLOBAL)
{
WSREP_DEBUG("global lock granted for BF: %lu %s",
wsrep_thd_thread_id(requestor_ctx->get_thd()),
wsrep_thd_query(requestor_ctx->get_thd()));
can_grant = true;
}
else if (!wsrep_grant_mdl_exception(requestor_ctx, ticket))
{
wsrep_can_grant= FALSE;
if (wsrep_log_conflicts)
{
MDL_lock * lock = ticket->get_lock();
WSREP_INFO(
"MDL conflict db=%s table=%s ticket=%d solved by %s",
lock->key.db_name(), lock->key.name(), ticket->get_type(), "abort"
);
}
}
else
{
can_grant= TRUE;
}
}
#else
break;
#endif /* WITH_WSREP */
}
#ifdef WITH_WSREP
if ((ticket == NULL) && wsrep_can_grant)
#else
if (ticket == NULL) /* Incompatible locks are our own. */
#endif /* WITH_WSREP */
can_grant= TRUE;
}
}
#ifdef WITH_WSREP
else
{
if (wsrep_thd_is_brute_force((void *)(requestor_ctx->get_thd())) &&
key.mdl_namespace() == MDL_key::GLOBAL)
{
WSREP_DEBUG("global lock granted for BF (waiting queue): %lu %s",
wsrep_thd_thread_id(requestor_ctx->get_thd()),
wsrep_thd_query(requestor_ctx->get_thd()));
can_grant = true;
}
}
#endif /* WITH_WSREP */
return can_grant;
}
@ -3019,3 +3122,33 @@ void MDL_context::set_transaction_duration_for_all_locks()
ticket->m_duration= MDL_TRANSACTION;
#endif
}
#ifdef WITH_WSREP
void MDL_ticket::wsrep_report(bool debug)
{
if (debug)
{
WSREP_DEBUG("MDL ticket: type: %s space: %s db: %s name: %s (%s)",
(get_type() == MDL_INTENTION_EXCLUSIVE) ? "intention exclusive" :
((get_type() == MDL_SHARED) ? "shared" :
((get_type() == MDL_SHARED_HIGH_PRIO ? "shared high prio" :
((get_type() == MDL_SHARED_READ) ? "shared read" :
((get_type() == MDL_SHARED_WRITE) ? "shared write" :
((get_type() == MDL_SHARED_NO_WRITE) ? "shared no write" :
((get_type() == MDL_SHARED_NO_READ_WRITE) ? "shared no read write" :
((get_type() == MDL_EXCLUSIVE) ? "exclusive" :
"UNKNOWN")))))))),
(m_lock->key.mdl_namespace() == MDL_key::GLOBAL) ? "GLOBAL" :
((m_lock->key.mdl_namespace() == MDL_key::SCHEMA) ? "SCHEMA" :
((m_lock->key.mdl_namespace() == MDL_key::TABLE) ? "TABLE" :
((m_lock->key.mdl_namespace() == MDL_key::TABLE) ? "FUNCTION" :
((m_lock->key.mdl_namespace() == MDL_key::TABLE) ? "PROCEDURE" :
((m_lock->key.mdl_namespace() == MDL_key::TABLE) ? "TRIGGER" :
((m_lock->key.mdl_namespace() == MDL_key::TABLE) ? "EVENT" :
((m_lock->key.mdl_namespace() == MDL_key::COMMIT) ? "COMMIT" :
(char *)"UNKNOWN"))))))),
m_lock->key.db_name(),
m_lock->key.name(),
m_lock->key.get_wait_state_name());
}
}
#endif /* WITH_WSREP */

View File

@ -504,6 +504,9 @@ public:
MDL_ticket *next_in_lock;
MDL_ticket **prev_in_lock;
public:
#ifdef WITH_WSREP
void wsrep_report(bool debug);
#endif /* WITH_WSREP */
bool has_pending_conflicting_lock() const;
MDL_context *get_ctx() const { return m_ctx; }

File diff suppressed because it is too large Load Diff

View File

@ -54,7 +54,11 @@ typedef Bitmap<((MAX_INDEXES+7)/8*8)> key_map; /* Used for finding keys */
some places */
/* Function prototypes */
void kill_mysql(void);
#ifdef WITH_WSREP
void close_connection(THD *thd, uint sql_errno= 0, bool lock=1);
#else
void close_connection(THD *thd, uint sql_errno= 0);
#endif
void handle_connection_in_main_thread(THD *thd);
void create_thread_to_handle_connection(THD *thd);
void delete_running_thd(THD *thd);
@ -225,6 +229,10 @@ extern pthread_key(MEM_ROOT**,THR_MALLOC);
extern PSI_mutex_key key_PAGE_lock, key_LOCK_sync, key_LOCK_active,
key_LOCK_pool, key_LOCK_pending_checkpoint;
#endif /* HAVE_MMAP */
#ifdef WITH_WSREP
extern PSI_mutex_key key_LOCK_wsrep_thd;
extern PSI_cond_key key_COND_wsrep_thd;
#endif /* HAVE_MMAP */
#ifdef HAVE_OPENSSL
extern PSI_mutex_key key_LOCK_des_key_file;
@ -557,6 +565,14 @@ enum options_mysqld
OPT_SSL_KEY,
OPT_UPDATE_LOG,
OPT_WANT_CORE,
#ifdef WITH_WSREP
OPT_WSREP_PROVIDER,
OPT_WSREP_PROVIDER_OPTIONS,
OPT_WSREP_CLUSTER_ADDRESS,
OPT_WSREP_START_POSITION,
OPT_WSREP_SST_AUTH,
OPT_WSREP_RECOVER,
#endif
OPT_which_is_always_the_last
};
#endif
@ -700,4 +716,5 @@ extern uint internal_tmp_table_max_key_segments;
extern uint volatile global_disable_checkpoint;
extern my_bool opt_help;
#endif /* MYSQLD_INCLUDED */

View File

@ -485,6 +485,14 @@ static uchar *net_store_length_fast(uchar *packet, uint length)
void Protocol::end_statement()
{
#ifdef WITH_WSREP
/*sanity check, can be removed before 1.0 release */
if (WSREP(thd) && thd->wsrep_conflict_state== REPLAYING)
{
WSREP_ERROR("attempting net_end_statement while replaying");
return;
}
#endif
DBUG_ENTER("Protocol::end_statement");
DBUG_ASSERT(! thd->stmt_da->is_sent);
bool error= FALSE;

View File

@ -240,6 +240,9 @@ public:
int check(THD *thd);
int update(THD *thd);
int light_check(THD *thd);
#ifdef WITH_WSREP
int wsrep_store_variable(THD *thd);
#endif
};
@ -321,6 +324,9 @@ extern sys_var *Sys_autocommit_ptr;
CHARSET_INFO *get_old_charset_by_name(const char *old_name);
#ifdef WITH_WSREP
int sql_set_wsrep_variables(THD *thd, List<set_var_base> *var_list);
#endif
int sys_var_init();
int sys_var_add_options(DYNAMIC_ARRAY *long_options, int parse_flags);
void sys_var_end(void);

View File

@ -53,6 +53,9 @@
// Create_file_log_event,
// Format_description_log_event
#ifdef WITH_WSREP
#include "wsrep_mysqld.h"
#endif
#ifdef HAVE_REPLICATION
#include "rpl_tblmap.h"
@ -3026,6 +3029,23 @@ int apply_event_and_update_pos(Log_event* ev, THD* thd, Relay_log_info* rli)
ev->thd = thd; // because up to this point, ev->thd == 0
int reason= ev->shall_skip(rli);
#ifdef WITH_WSREP
if (WSREP_ON && (ev->get_type_code() == XID_EVENT ||
(ev->get_type_code() == QUERY_EVENT && thd->wsrep_mysql_replicated > 0 &&
(!strncasecmp(((Query_log_event*)ev)->query , "BEGIN", 5) ||
!strncasecmp(((Query_log_event*)ev)->query , "COMMIT", 6) ))))
{
if (++thd->wsrep_mysql_replicated < (int)wsrep_mysql_replication_bundle)
{
WSREP_DEBUG("skipping wsrep commit %d", thd->wsrep_mysql_replicated);
reason = Log_event::EVENT_SKIP_IGNORE;
}
else
{
thd->wsrep_mysql_replicated = 0;
}
}
#endif
if (reason == Log_event::EVENT_SKIP_COUNT)
{
DBUG_ASSERT(rli->slave_skip_counter > 0);
@ -4004,6 +4024,11 @@ pthread_handler_t handle_slave_sql(void *arg)
#endif
DBUG_ASSERT(rli->sql_thd == thd);
#ifdef WITH_WSREP
thd->wsrep_exec_mode= LOCAL_STATE;
/* synchronize with wsrep replication */
if (WSREP_ON) wsrep_ready_wait();
#endif
DBUG_PRINT("master_info",("log_file_name: %s position: %s",
rli->group_master_log_name,
llstr(rli->group_master_log_pos,llbuff)));

View File

@ -2254,3 +2254,37 @@ sp_load_for_information_schema(THD *thd, TABLE *proc_table, String *db,
thd->lex= old_lex;
return sp;
}
#ifdef WITH_WSREP
int wsrep_create_sp(THD *thd, uchar** buf, uint* buf_len)
{
String log_query;
sp_head *sp = thd->lex->sphead;
ulong saved_mode= thd->variables.sql_mode;
String retstr(64);
retstr.set_charset(system_charset_info);
log_query.set_charset(system_charset_info);
if (sp->m_type == TYPE_ENUM_FUNCTION)
{
sp_returns_type(thd, retstr, sp);
}
if (!create_string(thd, &log_query,
sp->m_type,
(sp->m_explicit_name ? sp->m_db.str : NULL),
(sp->m_explicit_name ? sp->m_db.length : 0),
sp->m_name.str, sp->m_name.length,
sp->m_params.str, sp->m_params.length,
retstr.c_ptr(), retstr.length(),
sp->m_body.str, sp->m_body.length,
sp->m_chistics, &(thd->lex->definer->user),
&(thd->lex->definer->host),
saved_mode))
{
WSREP_WARN("SP create string failed: %s", thd->query());
return 1;
}
return wsrep_to_buf_helper(thd, log_query.ptr(), log_query.length(), buf, buf_len);
}
#endif /* WITH_WSREP */

View File

@ -1862,6 +1862,9 @@ int check_change_password(THD *thd, const char *host, const char *user,
return(1);
}
if (!thd->slave_thread &&
#ifdef WITH_WSREP
(!WSREP(thd) || !thd->wsrep_applier) &&
#endif /* WITH_WSREP */
(strcmp(thd->security_ctx->user, user) ||
my_strcasecmp(system_charset_info, host,
thd->security_ctx->priv_host)))
@ -1869,7 +1872,12 @@ int check_change_password(THD *thd, const char *host, const char *user,
if (check_access(thd, UPDATE_ACL, "mysql", NULL, NULL, 1, 0))
return(1);
}
#ifdef WITH_WSREP
if ((!WSREP(thd) || !thd->wsrep_applier) &&
!thd->slave_thread && !thd->security_ctx->user[0])
#else
if (!thd->slave_thread && !thd->security_ctx->user[0])
#endif /* WITH_WSREP */
{
my_message(ER_PASSWORD_ANONYMOUS_USER, ER(ER_PASSWORD_ANONYMOUS_USER),
MYF(0));
@ -1913,6 +1921,9 @@ bool change_password(THD *thd, const char *host, const char *user,
enum_binlog_format save_binlog_format;
uint new_password_len= (uint) strlen(new_password);
bool result= 1;
#ifdef WITH_WSREP
const CSET_STRING query_save = thd->query_string;
#endif /* WITH_WSREP */
DBUG_ENTER("change_password");
DBUG_PRINT("enter",("host: '%s' user: '%s' new_password: '%s'",
host,user,new_password));
@ -1920,6 +1931,18 @@ bool change_password(THD *thd, const char *host, const char *user,
if (check_change_password(thd, host, user, new_password, new_password_len))
DBUG_RETURN(1);
#ifdef WITH_WSREP
if (WSREP(thd) && !thd->wsrep_applier)
{
query_length= sprintf(buff, "SET PASSWORD FOR '%-.120s'@'%-.120s'='%-.120s'",
user ? user : "",
host ? host : "",
new_password);
thd->set_query_inner(buff, query_length, system_charset_info);
WSREP_TO_ISOLATION_BEGIN(WSREP_MYSQL_DB, (char*)"user", NULL);
}
#endif /* WITH_WSREP */
tables.init_one_table("mysql", 5, "user", 4, "user", TL_WRITE);
@ -1999,9 +2022,23 @@ bool change_password(THD *thd, const char *host, const char *user,
}
end:
close_mysql_tables(thd);
#ifdef WITH_WSREP
if (WSREP(thd) && !thd->wsrep_applier)
{
WSREP_TO_ISOLATION_END;
thd->query_string = query_save;
thd->wsrep_exec_mode = LOCAL_STATE;
}
#endif /* WITH_WSREP */
thd->restore_stmt_binlog_format(save_binlog_format);
DBUG_RETURN(result);
#ifdef WITH_WSREP
error:
WSREP_ERROR("Replication of SET PASSWORD failed: %s", buff);
DBUG_RETURN(result);
#endif /* WITH_WSREP */
}

View File

@ -1153,6 +1153,8 @@ bool Optimize_table_statement::execute(THD *thd)
FALSE, UINT_MAX, FALSE))
goto error; /* purecov: inspected */
thd->enable_slow_log= opt_log_slow_admin_statements;
WSREP_TO_ISOLATION_BEGIN(first_table->db, first_table->table_name, NULL)
res= (specialflag & (SPECIAL_SAFE_MODE | SPECIAL_NO_NEW_FUNC)) ?
mysql_recreate_table(thd, first_table) :
mysql_admin_table(thd, first_table, &m_lex->check_opt,
@ -1184,6 +1186,7 @@ bool Repair_table_statement::execute(THD *thd)
FALSE, UINT_MAX, FALSE))
goto error; /* purecov: inspected */
thd->enable_slow_log= opt_log_slow_admin_statements;
WSREP_TO_ISOLATION_BEGIN(first_table->db, first_table->table_name, NULL)
res= mysql_admin_table(thd, first_table, &m_lex->check_opt, "repair",
TL_WRITE, 1,
test(m_lex->check_opt.sql_flags & TT_USEFRM),

View File

@ -17,7 +17,9 @@
#include "sql_table.h" // mysql_alter_table,
// mysql_exchange_partition
#include "sql_alter.h"
#ifdef WITH_WSREP
#include "wsrep_mysqld.h"
#endif /* WITH_WSREP */
bool Alter_table_statement::execute(THD *thd)
{
LEX *lex= thd->lex;
@ -97,6 +99,20 @@ bool Alter_table_statement::execute(THD *thd)
thd->enable_slow_log= opt_log_slow_admin_statements;
#ifdef WITH_WSREP
TABLE *find_temporary_table(THD *thd, const TABLE_LIST *tl);
if ((!thd->is_current_stmt_binlog_format_row() ||
!find_temporary_table(thd, first_table)) &&
wsrep_to_isolation_begin(thd,
lex->name.str ? select_lex->db : NULL,
lex->name.str ? lex->name.str : NULL,
first_table))
{
WSREP_WARN("ALTER TABLE isolation failure");
DBUG_RETURN(TRUE);
}
#endif /* WITH_WSREP */
result= mysql_alter_table(thd, select_lex->db, lex->name.str,
&create_info,
first_table,
@ -105,5 +121,7 @@ bool Alter_table_statement::execute(THD *thd)
select_lex->order_list.first,
lex->ignore, lex->online);
#ifdef WITH_WSREP
#endif /* WITH_WSREP */
DBUG_RETURN(result);
}

View File

@ -61,6 +61,10 @@
#include <io.h>
#endif
#ifdef WITH_WSREP
#include "wsrep_mysqld.h"
#endif // WITH_WSREP
bool
No_such_table_error_handler::handle_condition(THD *,
@ -4115,7 +4119,7 @@ thr_lock_type read_lock_type_for_table(THD *thd,
*/
bool log_on= mysql_bin_log.is_open() && thd->variables.sql_log_bin;
ulong binlog_format= thd->variables.binlog_format;
if ((log_on == FALSE) || (binlog_format == BINLOG_FORMAT_ROW) ||
if ((log_on == FALSE) || (WSREP_FORMAT(binlog_format) == BINLOG_FORMAT_ROW) ||
(table_list->table->s->table_category == TABLE_CATEGORY_LOG) ||
(table_list->table->s->table_category == TABLE_CATEGORY_PERFORMANCE) ||
!(is_update_query(prelocking_ctx->sql_command) ||
@ -5066,6 +5070,22 @@ restart:
}
}
}
#ifdef WITH_WSREP
if ((thd->lex->sql_command== SQLCOM_INSERT ||
thd->lex->sql_command== SQLCOM_INSERT_SELECT ||
thd->lex->sql_command== SQLCOM_REPLACE ||
thd->lex->sql_command== SQLCOM_REPLACE_SELECT ||
thd->lex->sql_command== SQLCOM_UPDATE ||
thd->lex->sql_command== SQLCOM_UPDATE_MULTI ||
thd->lex->sql_command== SQLCOM_LOAD ||
thd->lex->sql_command== SQLCOM_DELETE) &&
wsrep_replicate_myisam &&
(*start)->table && (*start)->table->file->ht->db_type == DB_TYPE_MYISAM)
{
WSREP_TO_ISOLATION_BEGIN(NULL, NULL, (*start));
}
error:
#endif
err:
free_root(&new_frm_mem, MYF(0)); // Free pre-alloced block
@ -5780,7 +5800,7 @@ bool lock_tables(THD *thd, TABLE_LIST *tables, uint count,
We can solve these problems in mixed mode by switching to binlogging
if at least one updated table is used by sub-statement
*/
if (thd->variables.binlog_format != BINLOG_FORMAT_ROW && tables &&
if (WSREP_FORMAT(thd->variables.binlog_format) != BINLOG_FORMAT_ROW && tables &&
has_write_table_with_auto_increment(thd->lex->first_not_own_table()))
thd->lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_AUTOINC_COLUMNS);
}
@ -9253,7 +9273,19 @@ bool mysql_notify_thread_having_shared_lock(THD *thd, THD *in_use,
(e.g. see partitioning code).
*/
if (!thd_table->needs_reopen())
#ifdef WITH_WSREP
{
signalled|= mysql_lock_abort_for_thread(thd, thd_table);
if (thd && WSREP(thd) && wsrep_thd_is_brute_force((void *)thd))
{
WSREP_DEBUG("remove_table_from_cache: %llu",
(unsigned long long) thd->real_id);
wsrep_abort_thd((void *)thd, (void *)in_use, FALSE);
}
}
#else
signalled|= mysql_lock_abort_for_thread(thd, thd_table);
#endif
}
mysql_mutex_unlock(&in_use->LOCK_thd_data);
}

View File

@ -25,7 +25,11 @@ extern
#endif
builtin_maria_plugin
@mysql_mandatory_plugins@ @mysql_optional_plugins@
builtin_maria_binlog_plugin, builtin_maria_mysql_password_plugin;
builtin_maria_binlog_plugin,
#ifdef WITH_WSREP
builtin_wsrep_plugin@mysql_plugin_defs@,
#endif /* WITH_WSREP */
builtin_maria_mysql_password_plugin;
struct st_maria_plugin *mysql_optional_plugins[]=
{
@ -35,5 +39,8 @@ struct st_maria_plugin *mysql_optional_plugins[]=
struct st_maria_plugin *mysql_mandatory_plugins[]=
{
builtin_maria_binlog_plugin, builtin_maria_mysql_password_plugin,
#ifdef WITH_WSREP
builtin_wsrep_plugin@mysql_plugin_defs@,
#endif /* WITH_WSREP */
@mysql_mandatory_plugins@ 0
};

View File

@ -62,6 +62,9 @@
#include "debug_sync.h"
#include "sql_parse.h" // is_update_query
#include "sql_callback.h"
#ifdef WITH_WSREP
#include "wsrep_mysqld.h"
#endif
#include "sql_connect.h"
/*
@ -782,6 +785,173 @@ char *thd_security_context(THD *thd, char *buffer, unsigned int length,
return buffer;
}
#ifdef WITH_WSREP
extern int wsrep_on(void *thd)
{
return (int)(WSREP(((THD*)thd)));
}
extern "C" bool wsrep_thd_is_wsrep_on(THD *thd)
{
return thd->variables.wsrep_on;
}
extern "C" bool wsrep_consistency_check(void *thd)
{
return ((THD*)thd)->wsrep_consistency_check == CONSISTENCY_CHECK_RUNNING;
}
extern "C" void wsrep_thd_set_exec_mode(THD *thd, enum wsrep_exec_mode mode)
{
thd->wsrep_exec_mode= mode;
}
extern "C" void wsrep_thd_set_query_state(
THD *thd, enum wsrep_query_state state)
{
thd->wsrep_query_state= state;
}
extern "C" void wsrep_thd_set_conflict_state(
THD *thd, enum wsrep_conflict_state state)
{
thd->wsrep_conflict_state= state;
}
extern "C" enum wsrep_exec_mode wsrep_thd_exec_mode(THD *thd)
{
return thd->wsrep_exec_mode;
}
extern "C" const char *wsrep_thd_exec_mode_str(THD *thd)
{
return
(!thd) ? "void" :
(thd->wsrep_exec_mode == LOCAL_STATE) ? "local" :
(thd->wsrep_exec_mode == REPL_RECV) ? "applier" :
(thd->wsrep_exec_mode == TOTAL_ORDER) ? "total order" :
(thd->wsrep_exec_mode == LOCAL_COMMIT) ? "local commit" : "void";
}
extern "C" enum wsrep_query_state wsrep_thd_query_state(THD *thd)
{
return thd->wsrep_query_state;
}
extern "C" const char *wsrep_thd_query_state_str(THD *thd)
{
return
(!thd) ? "void" :
(thd->wsrep_query_state == QUERY_IDLE) ? "idle" :
(thd->wsrep_query_state == QUERY_EXEC) ? "executing" :
(thd->wsrep_query_state == QUERY_COMMITTING) ? "committing" :
(thd->wsrep_query_state == QUERY_EXITING) ? "exiting" :
(thd->wsrep_query_state == QUERY_ROLLINGBACK) ? "rolling back" : "void";
}
extern "C" enum wsrep_conflict_state wsrep_thd_conflict_state(THD *thd)
{
return thd->wsrep_conflict_state;
}
extern "C" const char *wsrep_thd_conflict_state_str(THD *thd)
{
return
(!thd) ? "void" :
(thd->wsrep_conflict_state == NO_CONFLICT) ? "no conflict" :
(thd->wsrep_conflict_state == MUST_ABORT) ? "must abort" :
(thd->wsrep_conflict_state == ABORTING) ? "aborting" :
(thd->wsrep_conflict_state == MUST_REPLAY) ? "must replay" :
(thd->wsrep_conflict_state == REPLAYING) ? "replaying" :
(thd->wsrep_conflict_state == RETRY_AUTOCOMMIT) ? "retrying" :
(thd->wsrep_conflict_state == CERT_FAILURE) ? "cert failure" : "void";
}
extern "C" wsrep_trx_handle_t* wsrep_thd_trx_handle(THD *thd)
{
return &thd->wsrep_trx_handle;
}
extern "C"void wsrep_thd_LOCK(THD *thd)
{
mysql_mutex_lock(&thd->LOCK_wsrep_thd);
}
extern "C"void wsrep_thd_UNLOCK(THD *thd)
{
mysql_mutex_unlock(&thd->LOCK_wsrep_thd);
}
extern "C" time_t wsrep_thd_query_start(THD *thd)
{
return thd->query_start();
}
extern "C" uint32 wsrep_thd_wsrep_rand(THD *thd)
{
return thd->wsrep_rand;
}
extern "C" my_thread_id wsrep_thd_thread_id(THD *thd)
{
return thd->thread_id;
}
extern "C" wsrep_seqno_t wsrep_thd_trx_seqno(THD *thd)
{
return (thd) ? thd->wsrep_trx_seqno : -1;
}
extern "C" query_id_t wsrep_thd_query_id(THD *thd)
{
return thd->query_id;
}
extern "C" char *wsrep_thd_query(THD *thd)
{
return (thd) ? thd->query() : NULL;
}
extern "C" query_id_t wsrep_thd_wsrep_last_query_id(THD *thd)
{
return thd->wsrep_last_query_id;
}
extern "C" void wsrep_thd_set_wsrep_last_query_id(THD *thd, query_id_t id)
{
thd->wsrep_last_query_id= id;
}
extern "C" void wsrep_thd_awake(THD* bf_thd, THD *thd, my_bool signal)
{
if (signal)
{
thd->wsrep_bf_thd = bf_thd;
mysql_mutex_lock(&thd->LOCK_thd_data);
thd->awake(KILL_QUERY);
mysql_mutex_unlock(&thd->LOCK_thd_data);
}
else
{
mysql_mutex_lock(&LOCK_wsrep_replaying);
mysql_cond_broadcast(&COND_wsrep_replaying);
mysql_mutex_unlock(&LOCK_wsrep_replaying);
}
}
extern int
wsrep_trx_order_before(void *thd1, void *thd2)
{
if (((THD*)thd1)->wsrep_trx_seqno < ((THD*)thd2)->wsrep_trx_seqno) {
WSREP_DEBUG("BF conflict, order: %lld %lld\n",
(long long)((THD*)thd1)->wsrep_trx_seqno,
(long long)((THD*)thd2)->wsrep_trx_seqno);
return 1;
}
WSREP_DEBUG("waiting for BF, trx order: %lld %lld\n",
(long long)((THD*)thd1)->wsrep_trx_seqno,
(long long)((THD*)thd2)->wsrep_trx_seqno);
return 0;
}
extern "C" int
wsrep_trx_is_aborting(void *thd_ptr)
{
if (thd_ptr) {
if ((((THD *)thd_ptr)->wsrep_conflict_state == MUST_ABORT) ||
(((THD *)thd_ptr)->wsrep_conflict_state == ABORTING)) {
return 1;
}
}
return 0;
}
#endif
/**
Implementation of Drop_table_error_handler::handle_condition().
@ -810,7 +980,11 @@ bool Drop_table_error_handler::handle_condition(THD *thd,
}
#ifdef WITH_WSREP
THD::THD(bool is_applier)
#else
THD::THD()
#endif
:Statement(&main_lex, &main_mem_root, STMT_CONVENTIONAL_EXECUTION,
/* statement id */ 0),
rli_fake(0), rli_slave(NULL),
@ -842,6 +1016,11 @@ THD::THD()
bootstrap(0),
derived_tables_processing(FALSE),
spcont(NULL),
#ifdef WITH_WSREP
wsrep_applier(is_applier),
wsrep_applier_closing(FALSE),
wsrep_client_thread(0),
#endif
m_parser_state(NULL),
#if defined(ENABLED_DEBUG_SYNC)
debug_sync_control(0),
@ -955,6 +1134,23 @@ THD::THD()
m_command=COM_CONNECT;
*scramble= '\0';
#ifdef WITH_WSREP
mysql_mutex_init(key_LOCK_wsrep_thd, &LOCK_wsrep_thd, MY_MUTEX_INIT_FAST);
mysql_cond_init(key_COND_wsrep_thd, &COND_wsrep_thd, NULL);
wsrep_trx_handle.trx_id = WSREP_UNDEFINED_TRX_ID;
wsrep_trx_handle.opaque = NULL;
//wsrep_retry_autocommit= ::wsrep_retry_autocommit;
wsrep_retry_counter = 0;
wsrep_PA_safe = true;
wsrep_seqno_changed = false;
wsrep_retry_query = NULL;
wsrep_retry_query_len = 0;
wsrep_retry_command = COM_CONNECT;
wsrep_consistency_check = NO_CONSISTENCY_CHECK;
wsrep_status_vars = 0;
wsrep_mysql_replicated = 0;
wsrep_bf_thd = NULL;
#endif
/* Call to init() below requires fully initialized Open_tables_state. */
reset_open_tables_state(this);
@ -994,6 +1190,13 @@ THD::THD()
my_rnd_init(&rand, tmp + (ulong) &rand, tmp + (ulong) ::global_query_id);
substitute_null_with_insert_id = FALSE;
thr_lock_info_init(&lock_info); /* safety: will be reset after start */
#ifdef WITH_WSREP
lock_info.mysql_thd= (void *)this;
lock_info.in_lock_tables= false;
#ifdef WSREP_PROC_INFO
wsrep_info[sizeof(wsrep_info) - 1] = '\0'; /* make sure it is 0-terminated */
#endif /* WSREP_PROC_INFO */
#endif /* WITH_WSREP */
m_internal_handler= NULL;
m_binlog_invoker= FALSE;
@ -1306,7 +1509,21 @@ void THD::init(void)
reset_current_stmt_binlog_format_row();
set_status_var_init();
bzero((char *) &org_status_var, sizeof(org_status_var));
#ifdef WITH_WSREP
wsrep_exec_mode= wsrep_applier ? REPL_RECV : LOCAL_STATE;
wsrep_conflict_state= NO_CONFLICT;
wsrep_query_state= QUERY_IDLE;
wsrep_last_query_id= 0;
wsrep_trx_seqno= 0;
wsrep_converted_lock_session= false;
wsrep_retry_counter= 0;
wsrep_rli= NULL;
wsrep_PA_safe= true;
wsrep_seqno_changed= false;
wsrep_consistency_check = NO_CONSISTENCY_CHECK;
wsrep_mysql_replicated = 0;
wsrep_bf_thd = NULL;
#endif
if (variables.sql_log_bin)
variables.option_bits|= OPTION_BIN_LOG;
else
@ -1504,6 +1721,13 @@ THD::~THD()
mysys_var=0; // Safety (shouldn't be needed)
mysql_mutex_unlock(&LOCK_thd_data);
#ifdef WITH_WSREP
mysql_mutex_lock(&LOCK_wsrep_thd);
mysql_mutex_unlock(&LOCK_wsrep_thd);
mysql_mutex_destroy(&LOCK_wsrep_thd);
if (wsrep_rli) delete wsrep_rli;
if (wsrep_status_vars) wsrep->stats_free(wsrep, wsrep_status_vars);
#endif
/* Close connection */
#ifndef EMBEDDED_LIBRARY
if (net.vio)
@ -1678,6 +1902,9 @@ void THD::awake(killed_state state_to_set)
/* Interrupt target waiting inside a storage engine. */
if (state_to_set != NOT_KILLED)
#ifdef WITH_WSREP
if (!wsrep_bf_thd || wsrep_bf_thd->wsrep_exec_mode == LOCAL_STATE)
#endif /* WITH_WSREP */
ha_kill_query(this, thd_kill_level(this));
/* Broadcast a condition to kick the target if it is waiting on it. */
@ -1944,6 +2171,13 @@ void THD::cleanup_after_query()
/* reset table map for multi-table update */
table_map_for_update= 0;
m_binlog_invoker= FALSE;
#ifdef WITH_WSREP
if (TOTAL_ORDER == wsrep_exec_mode)
{
wsrep_exec_mode = LOCAL_STATE;
}
//wsrep_trx_seqno = 0;
#endif /* WITH_WSREP */
#ifndef EMBEDDED_LIBRARY
if (rli_slave)
@ -2353,6 +2587,13 @@ bool sql_exchange::escaped_given(void)
bool select_send::send_result_set_metadata(List<Item> &list, uint flags)
{
bool res;
#ifdef WITH_WSREP
if (WSREP(thd) && thd->wsrep_retry_query)
{
WSREP_DEBUG("skipping select metadata");
return FALSE;
}
#endif /* WITH_WSREP */
if (!(res= thd->protocol->send_result_set_metadata(&list, flags)))
is_result_set_started= 1;
return res;
@ -4103,8 +4344,13 @@ extern "C" int thd_non_transactional_update(const MYSQL_THD thd)
extern "C" int thd_binlog_format(const MYSQL_THD thd)
{
#ifdef WITH_WSREP
if (((WSREP(thd) && wsrep_emulate_bin_log) || mysql_bin_log.is_open()) &&
(thd->variables.option_bits & OPTION_BIN_LOG))
#else
if (mysql_bin_log.is_open() && (thd->variables.option_bits & OPTION_BIN_LOG))
return (int) thd->variables.binlog_format;
#endif
return (int) WSREP_FORMAT(thd->variables.binlog_format);
else
return BINLOG_FORMAT_UNSPEC;
}
@ -4796,7 +5042,7 @@ int THD::decide_logging_format(TABLE_LIST *tables)
binlog by filtering rules.
*/
if (mysql_bin_log.is_open() && (variables.option_bits & OPTION_BIN_LOG) &&
!(variables.binlog_format == BINLOG_FORMAT_STMT &&
!(WSREP_FORMAT(variables.binlog_format) == BINLOG_FORMAT_STMT &&
!binlog_filter->db_ok(db)))
{
/*
@ -4960,7 +5206,7 @@ int THD::decide_logging_format(TABLE_LIST *tables)
*/
my_error((error= ER_BINLOG_ROW_INJECTION_AND_STMT_ENGINE), MYF(0));
}
else if (variables.binlog_format == BINLOG_FORMAT_ROW &&
else if (WSREP_FORMAT(variables.binlog_format) == BINLOG_FORMAT_ROW &&
sqlcom_can_generate_row_events(this))
{
/*
@ -4989,7 +5235,7 @@ int THD::decide_logging_format(TABLE_LIST *tables)
else
{
/* binlog_format = STATEMENT */
if (variables.binlog_format == BINLOG_FORMAT_STMT)
if (WSREP_FORMAT(variables.binlog_format) == BINLOG_FORMAT_STMT)
{
if (lex->is_stmt_row_injection())
{
@ -5006,7 +5252,14 @@ int THD::decide_logging_format(TABLE_LIST *tables)
5. Error: Cannot modify table that uses a storage engine
limited to row-logging when binlog_format = STATEMENT
*/
#ifdef WITH_WSREP
if (!WSREP(this) || wsrep_exec_mode == LOCAL_STATE)
{
#endif /* WITH_WSREP */
my_error((error= ER_BINLOG_STMT_MODE_AND_ROW_ENGINE), MYF(0), "");
#ifdef WITH_WSREP
}
#endif /* WITH_WSREP */
}
else if (is_write && (unsafe_flags= lex->get_stmt_unsafe_flags()) != 0)
{
@ -5054,7 +5307,7 @@ int THD::decide_logging_format(TABLE_LIST *tables)
"and binlog_filter->db_ok(db) = %d",
mysql_bin_log.is_open(),
(variables.option_bits & OPTION_BIN_LOG),
variables.binlog_format,
WSREP_FORMAT(variables.binlog_format),
binlog_filter->db_ok(db)));
#endif
@ -5287,7 +5540,13 @@ int THD::binlog_write_row(TABLE* table, bool is_trans,
MY_BITMAP const* cols, size_t colcnt,
uchar const *record)
{
#ifdef WITH_WSREP
DBUG_ASSERT(is_current_stmt_binlog_format_row() &&
((WSREP(this) && wsrep_emulate_bin_log) ||
mysql_bin_log.is_open()));
#else
DBUG_ASSERT(is_current_stmt_binlog_format_row() && mysql_bin_log.is_open());
#endif
/*
Pack records into format for transfer. We are allocating more
@ -5317,7 +5576,13 @@ int THD::binlog_update_row(TABLE* table, bool is_trans,
const uchar *before_record,
const uchar *after_record)
{
#ifdef WITH_WSREP
DBUG_ASSERT(is_current_stmt_binlog_format_row() &&
((WSREP(this) && wsrep_emulate_bin_log)
|| mysql_bin_log.is_open()));
#else
DBUG_ASSERT(is_current_stmt_binlog_format_row() && mysql_bin_log.is_open());
#endif
size_t const before_maxlen = max_row_length(table, before_record);
size_t const after_maxlen = max_row_length(table, after_record);
@ -5362,7 +5627,13 @@ int THD::binlog_delete_row(TABLE* table, bool is_trans,
MY_BITMAP const* cols, size_t colcnt,
uchar const *record)
{
#ifdef WITH_WSREP
DBUG_ASSERT(is_current_stmt_binlog_format_row() &&
((WSREP(this) && wsrep_emulate_bin_log)
|| mysql_bin_log.is_open()));
#else
DBUG_ASSERT(is_current_stmt_binlog_format_row() && mysql_bin_log.is_open());
#endif
/*
Pack records into format for transfer. We are allocating more
@ -5393,7 +5664,11 @@ int THD::binlog_remove_pending_rows_event(bool clear_maps,
{
DBUG_ENTER("THD::binlog_remove_pending_rows_event");
#ifdef WITH_WSREP
if (!(WSREP_EMULATE_BINLOG(this) || mysql_bin_log.is_open()))
#else
if (!mysql_bin_log.is_open())
#endif
DBUG_RETURN(0);
mysql_bin_log.remove_pending_rows_event(this, is_transactional);
@ -5412,7 +5687,11 @@ int THD::binlog_flush_pending_rows_event(bool stmt_end, bool is_transactional)
mode: it might be the case that we left row-based mode before
flushing anything (e.g., if we have explicitly locked tables).
*/
#ifdef WITH_WSREP
if (!(WSREP_EMULATE_BINLOG(this) || mysql_bin_log.is_open()))
#else
if (!mysql_bin_log.is_open())
#endif
DBUG_RETURN(0);
/*
@ -5660,8 +5939,12 @@ int THD::binlog_query(THD::enum_binlog_query_type qtype, char const *query_arg,
DBUG_ENTER("THD::binlog_query");
DBUG_PRINT("enter", ("qtype: %s query: '%-.*s'",
show_query_type(qtype), (int) query_len, query_arg));
#ifdef WITH_WSREP
DBUG_ASSERT(query_arg && (WSREP_EMULATE_BINLOG(this)
|| mysql_bin_log.is_open()));
#else
DBUG_ASSERT(query_arg && mysql_bin_log.is_open());
#endif
/*
If we are not in prelocked mode, mysql_unlock_tables() will be
called after this binlog_query(), so we have to flush the pending

View File

@ -57,6 +57,15 @@ void set_thd_stage_info(void *thd,
#include "my_apc.h"
#ifdef WITH_WSREP
#include "wsrep_mysqld.h"
struct wsrep_thd_shadow {
ulonglong options;
enum wsrep_exec_mode wsrep_exec_mode;
Vio *vio;
ulong tx_isolation;
};
#endif
class Reprepare_observer;
class Relay_log_info;
class Rpl_filter;
@ -613,6 +622,11 @@ typedef struct system_variables
ulong wt_timeout_short, wt_deadlock_search_depth_short;
ulong wt_timeout_long, wt_deadlock_search_depth_long;
#ifdef WITH_WSREP
my_bool wsrep_on;
my_bool wsrep_causal_reads;
ulong wsrep_retry_autocommit;
#endif
double long_query_time_double;
my_bool pseudo_slave_mode;
@ -1015,6 +1029,9 @@ struct st_savepoint {
/** State of metadata locks before this savepoint was set. */
MDL_savepoint mdl_savepoint;
};
#ifdef WITH_WSREP
void wsrep_cleanup_transaction(THD *thd); // THD.transactions.cleanup calls it
#endif
enum xa_states {XA_NOTR=0, XA_ACTIVE, XA_IDLE, XA_PREPARED, XA_ROLLBACK_ONLY};
extern const char *xa_state_names[];
@ -1860,7 +1877,7 @@ public:
int is_current_stmt_binlog_format_row() const {
DBUG_ASSERT(current_stmt_binlog_format == BINLOG_FORMAT_STMT ||
current_stmt_binlog_format == BINLOG_FORMAT_ROW);
return current_stmt_binlog_format == BINLOG_FORMAT_ROW;
return (WSREP_FORMAT((ulong)current_stmt_binlog_format) == BINLOG_FORMAT_ROW);
}
private:
@ -1918,7 +1935,11 @@ public:
*/
CHANGED_TABLE_LIST* changed_tables;
MEM_ROOT mem_root; // Transaction-life memory allocation pool
#ifdef WITH_WSREP
void cleanup(THD *thd)
#else
void cleanup()
#endif
{
DBUG_ENTER("thd::cleanup");
changed_tables= 0;
@ -1932,6 +1953,11 @@ public:
if (!xid_state.rm_error)
xid_state.xid.null();
free_root(&mem_root,MYF(MY_KEEP_PREALLOC));
#ifdef WITH_WSREP
// Todo: convert into a plugin method
// wsrep's post-commit. LOCAL_COMMIT designates wsrep's commit was ok
if (WSREP(thd)) wsrep_cleanup_transaction(thd);
#endif /* WITH_WSREP */
DBUG_VOID_RETURN;
}
my_bool is_active()
@ -2464,6 +2490,36 @@ public:
query_id_t first_query_id;
} binlog_evt_union;
#ifdef WITH_WSREP
const bool wsrep_applier; /* dedicated slave applier thread */
bool wsrep_applier_closing; /* applier marked to close */
bool wsrep_client_thread; /* to identify client threads*/
enum wsrep_exec_mode wsrep_exec_mode;
query_id_t wsrep_last_query_id;
enum wsrep_query_state wsrep_query_state;
enum wsrep_conflict_state wsrep_conflict_state;
mysql_mutex_t LOCK_wsrep_thd;
mysql_cond_t COND_wsrep_thd;
wsrep_seqno_t wsrep_trx_seqno;
uint32 wsrep_rand;
Relay_log_info* wsrep_rli;
bool wsrep_converted_lock_session;
wsrep_trx_handle_t wsrep_trx_handle;
bool wsrep_seqno_changed;
#ifdef WSREP_PROC_INFO
char wsrep_info[128]; /* string for dynamic proc info */
#endif /* WSREP_PROC_INFO */
ulong wsrep_retry_counter; // of autocommit
bool wsrep_PA_safe;
char* wsrep_retry_query;
size_t wsrep_retry_query_len;
enum enum_server_command wsrep_retry_command;
enum wsrep_consistency_check_mode
wsrep_consistency_check;
wsrep_stats_var* wsrep_status_vars;
int wsrep_mysql_replicated;
THD* wsrep_bf_thd;
#endif /* WITH_WSREP */
/**
Internal parser state.
Note that since the parser is not re-entrant, we keep only one parser
@ -2495,7 +2551,11 @@ public:
/* Debug Sync facility. See debug_sync.cc. */
struct st_debug_sync_control *debug_sync_control;
#endif /* defined(ENABLED_DEBUG_SYNC) */
#ifdef WITH_WSREP
THD(bool is_applier = false);
#else
THD();
#endif
~THD();
void init(void);
@ -2967,7 +3027,7 @@ public:
tests fail and so force them to propagate the
lex->binlog_row_based_if_mixed upwards to the caller.
*/
if ((variables.binlog_format == BINLOG_FORMAT_MIXED) &&
if ((WSREP_FORMAT(variables.binlog_format) == BINLOG_FORMAT_MIXED) &&
(in_sub_stmt == 0))
set_current_stmt_binlog_format_row();
@ -3019,7 +3079,7 @@ public:
show_system_thread(system_thread)));
if (in_sub_stmt == 0)
{
if (variables.binlog_format == BINLOG_FORMAT_ROW)
if (WSREP_FORMAT(variables.binlog_format) == BINLOG_FORMAT_ROW)
set_current_stmt_binlog_format_row();
else if (temporary_tables == NULL)
set_current_stmt_binlog_format_stmt();

Some files were not shown because too many files have changed in this diff Show More