Commit 8601ba22 authored by Aleksandr Kuzminsky's avatar Aleksandr Kuzminsky

Sync with Rev. 142. PerconaSQL is the new name of RPM packages

parents f1faa145 8c9b42dc
......@@ -104,10 +104,10 @@
%define __os_install_post /usr/lib/rpm/brp-compress
%define server_suffix -percona
%define package_suffix -percona
%define ndbug_comment MySQL Community Server (GPL), XtraDB %{xtradbversion}, Revision %{gotrevision}
%define debug_comment MySQL Community Server - Debug (GPL), XtraDB %{xtradbversion}, Revision %{gotrevision}
%define server_suffix -51
%define package_suffix -51
%define ndbug_comment Percona SQL Server (GPL), XtraDB %{xtradbversion}, Revision %{gotrevision}
%define debug_comment Percona SQL Server - Debug (GPL), XtraDB %{xtradbversion}, Revision %{gotrevision}
%define commercial 0
%define YASSL_BUILD 1
%define EMBEDDED_BUILD 0
......@@ -134,7 +134,16 @@
%define src_dir mysql-%{mysqlversion}
Source1: percona-xtradb-%{pluginversion}-%{xtradbversion}.tar.gz
Patch1: percona-support.patch
Patch0: percona-support.patch
Patch01: show_patches.patch
Patch02: slow_extended.patch
Patch03: profiling_slow.patch
Patch04: microsec_process.patch
Patch05: userstat.patch
Patch06: optimizer_fix.patch
Patch07: mysql-test_for_xtradb.diff
%define perconaxtradbplugin percona-xtradb-%{pluginversion}-%{xtradbversion}.tar.gz
......@@ -142,18 +151,18 @@ Patch1: percona-support.patch
# Main spec file section
##############################################################################
Name: MySQL%{package_suffix}
Summary: MySQL: a very fast and reliable SQL database server
Name: PerconaSQL%{package_suffix}
Summary: PerconaSQL: a very fast and reliable SQL database server
Group: Applications/Databases
Version: %{mysqlversion}
Release: %{release}
Distribution: Red Hat Enterprise Linux %{redhatversion}
License: Copyright 2000-2008 MySQL AB, 2008 %{mysql_vendor} All rights reserved. Use is subject to license terms. Under %{lic_type} license as shown in the Description field.
License: GPL version 2 http://www.gnu.org/licenses/gpl-2.0.html
Source: %{src_dir}.tar.gz
URL: http://www.percona.com/
Packager: %{mysql_vendor} MySQL Development Team <mysql-dev@percona.com>
Vendor: %{mysql_vendor}
Provides: msqlormysql MySQL-server mysql
Provides: msqlormysql MySQL-server mysql PerconaSQL-server
BuildRequires: gperf perl readline-devel gcc-c++ ncurses-devel zlib-devel libtool automake autoconf time ccache
# Think about what you use here since the first step is to
......@@ -162,150 +171,107 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
# From the manual
%description
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
and robust SQL (Structured Query Language) database server. MySQL Server
The PerconaSQL software delivers a very fast, multi-threaded, multi-user,
and robust SQL (Structured Query Language) database server. PerconaSQL Server
is intended for mission-critical, heavy-load production systems as well
as for embedding into mass-deployed software. MySQL is a trademark of
%{mysql_vendor}
The MySQL software has Dual Licensing, which means you can use the MySQL
software free of charge under the GNU General Public License
(http://www.gnu.org/licenses/). You can also purchase commercial MySQL
licenses from %{mysql_vendor} if you do not wish to be bound by the terms of
the GPL. See the chapter "Licensing and Support" in the manual for
further info.
as for embedding into mass-deployed software.
The MySQL web site (http://www.mysql.com/) provides the latest
news and information about the MySQL software. Also please see the
documentation and the manual for more information.
Percona Inc. provides commercial support of PerconaSQL Server.
For more information visist our web site http://www.percona.com/
##############################################################################
# Sub package definition
##############################################################################
%package -n MySQL-server%{package_suffix}
%package -n PerconaSQL-server%{package_suffix}
Summary: %{ndbug_comment} for Red Hat Enterprise Linux %{redhatversion}
Group: Applications/Databases
Requires: chkconfig coreutils shadow-utils grep procps
Provides: msqlormysql mysql-server mysql MySQL MySQL-server
Obsoletes: MySQL mysql mysql-server MySQL-server MySQL-server-community
Provides: msqlormysql mysql-server mysql MySQL MySQL-server PerconaSQL-server
Obsoletes: MySQL mysql mysql-server MySQL-server MySQL-server-community MySQL-server-percona
%description -n MySQL-server%{package_suffix}
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
and robust SQL (Structured Query Language) database server. MySQL Server
%description -n PerconaSQL-server%{package_suffix}
The PerconaSQL software delivers a very fast, multi-threaded, multi-user,
and robust SQL (Structured Query Language) database server. PerconaSQL Server
is intended for mission-critical, heavy-load production systems as well
as for embedding into mass-deployed software. MySQL is a trademark of
%{mysql_vendor}
The MySQL software has Dual Licensing, which means you can use the MySQL
software free of charge under the GNU General Public License
(http://www.gnu.org/licenses/). You can also purchase commercial MySQL
licenses from %{mysql_vendor} if you do not wish to be bound by the terms of
the GPL. See the chapter "Licensing and Support" in the manual for
further info.
The MySQL web site (http://www.mysql.com/) provides the latest
news and information about the MySQL software. Also please see the
documentation and the manual for more information.
as for embedding into mass-deployed software.
For commercial support please contact Percona at http://www.percona.com/contacts.html
Percona Inc. provides commercial support of PerconaSQL Server.
For more information visist our web site http://www.percona.com/
This package includes the MySQL server binary
This package includes the PerconaSQL server binary
%if %{INNODB_BUILD}
(configured including InnoDB)
(configured including XtraDB)
%endif
as well as related utilities to run and administer a MySQL server.
as well as related utilities to run and administer a PerconaSQL server.
If you want to access and work with the database, you have to install
package "MySQL-client%{package_suffix}" as well!
package "PerconaSQL-client%{package_suffix}" as well!
# ------------------------------------------------------------------------------
%package -n MySQL-client%{package_suffix}
Summary: MySQL - Client
%package -n PerconaSQL-client%{package_suffix}
Summary: PerconaSQL - Client
Group: Applications/Databases
Obsoletes: mysql-client MySQL-client MySQL-client-community
Provides: mysql-client MySQL-client
Obsoletes: mysql-client MySQL-client MySQL-client-community MySQL-client-percona
Provides: mysql-client MySQL-client PerconaSQL-client
%description -n MySQL-client%{package_suffix}
This package contains the standard MySQL clients and administration tools.
%description -n PerconaSQL-client%{package_suffix}
This package contains the standard PerconaSQL clients and administration tools.
%{see_base}
# ------------------------------------------------------------------------------
%package -n MySQL-test%{package_suffix}
%package -n PerconaSQL-test%{package_suffix}
Requires: mysql-client perl
Summary: MySQL - Test suite
Summary: PerconaSQL - Test suite
Group: Applications/Databases
Provides: mysql-test MySQL-test
Obsoletes: mysql-test MySQL-test MySQL-test-community
Provides: mysql-test MySQL-test PerconaSQL-test
Obsoletes: mysql-test MySQL-test MySQL-test-community MySQL-test-percona
AutoReqProv: no
%description -n MySQL-test%{package_suffix}
This package contains the MySQL regression test suite.
%description -n PerconaSQL-test%{package_suffix}
This package contains the PerconaSQL regression test suite.
%{see_base}
# ------------------------------------------------------------------------------
%package -n MySQL-devel%{package_suffix}
Summary: MySQL - Development header files and libraries
%package -n PerconaSQL-devel%{package_suffix}
Summary: PerconaSQL - Development header files and libraries
Group: Applications/Databases
Provides: mysql-devel MySQL-devel
Obsoletes: mysql-devel MySQL-devel MySQL-devel-community
Provides: mysql-devel MySQL-devel PerconaSQL-devel
Obsoletes: mysql-devel MySQL-devel MySQL-devel-community MySQL-devel-percona
%description -n MySQL-devel%{package_suffix}
%description -n PerconaSQL-devel%{package_suffix}
This package contains the development header files and libraries
necessary to develop MySQL client applications.
necessary to develop PerconaSQL client applications.
%{see_base}
# ------------------------------------------------------------------------------
%package -n MySQL-shared%{package_suffix}
Summary: MySQL - Shared libraries
%package -n PerconaSQL-shared%{package_suffix}
Summary: PerconaSQL - Shared libraries
Group: Applications/Databases
Provides: mysql-shared MySQL-shared
Provides: mysql-shared MySQL-shared PerconaSQL-shared
# Obsoletes below to correct old missing Provides:/Obsoletes
Obsoletes: mysql-shared MySQL-shared-standard MySQL-shared-pro
Obsoletes: MySQL-shared-pro-cert MySQL-shared-pro-gpl
Obsoletes: MySQL-shared-pro-gpl-cert MySQL-shared MySQL-shared-community
Obsoletes: MySQL-shared-pro-gpl-cert MySQL-shared MySQL-shared-community MySQL-shared-percona
%description -n MySQL-shared%{package_suffix}
%description -n PerconaSQL-shared%{package_suffix}
This package contains the shared libraries (*.so*) which certain
languages and applications need to dynamically load and use MySQL.
# ------------------------------------------------------------------------------
%if %{EMBEDDED_BUILD}
%package -n MySQL-embedded%{package_suffix}
Requires: mysql-devel
Summary: MySQL - Embedded library
Group: Applications/Databases
Provides: mysql-embedded MySQL-embedded
Obsoletes: mysql-embedded MySQL-embedded
Obsoletes: MySQL-embedded-classic MySQL-embedded-pro MySQL-embedded-community
%description -n MySQL-embedded%{package_suffix}
This package contains the MySQL server as an embedded library.
The embedded MySQL server library makes it possible to run a
full-featured MySQL server inside the client application.
The main benefits are increased speed and more simple management
for embedded applications.
The API is identical for the embedded MySQL version and the
client/server version.
%endif
%if %{PERCONA_PLUGIN_BUILD}
%package -n Percona-XtraDB-%{pluginversion}-%{xtradbversion}
Requires: mysql-devel
Requires: PerconaSQL-devel
Summary: Percona XtraDB Storage engine for MySQL
Group: Applications/Databases
Provides: percona-xtradb-plugin Percona-XtraDB-plugin
......@@ -335,12 +301,20 @@ judgment as a high-performance consulting company.
%setup -n %{src_dir}
%patch01 -p1
%patch02 -p1
%patch03 -p1
%patch04 -p1
%patch05 -p1
%patch06 -p1
%patch07 -p1
if [ "%{redhatversion}" = "5" ] ; then
tar xfz $RPM_SOURCE_DIR/%{perconaxtradbplugin} -C storage/innobase --strip-components=1
else
tar xfz $RPM_SOURCE_DIR/%{perconaxtradbplugin} -C storage/innobase --strip-path=1
fi
%patch1 -p1
%patch0 -p1
cd storage/innobase && bash -x ./setup.sh
......@@ -406,6 +380,7 @@ sh -c "CFLAGS=\"$CFLAGS\" \
--includedir=%{_includedir} \
--mandir=%{_mandir} \
--enable-thread-safe-client \
--enable-profiling \
%if %{?ndbug_comment:1}0
$OPT_COMMENT \
%endif
......@@ -614,7 +589,7 @@ install -m600 $MBD/support-files/RHEL4-SElinux/mysql.{fc,te} \
# Post processing actions, i.e. when installed
##############################################################################
%pre -n MySQL-server%{package_suffix}
%pre -n PerconaSQL-server%{package_suffix}
# Check if we can safely upgrade. An upgrade is only safe if it's from one
# of our RPMs in the same version family.
......@@ -688,7 +663,7 @@ if [ -x %{_sysconfdir}/init.d/mysql ] ; then
sleep 5
fi
%post -n MySQL-server%{package_suffix}
%post -n PerconaSQL-server%{package_suffix}
mysql_datadir=%{mysqldatadir}
# ----------------------------------------------------------------------
......@@ -791,7 +766,7 @@ sleep 2
mkdir -p /var/lib/mysql-cluster
%endif
%preun -n MySQL-server%{package_suffix}
%preun -n PerconaSQL-server%{package_suffix}
if [ $1 = 0 ] ; then
# Stop MySQL before uninstalling it
if [ -x %{_sysconfdir}/init.d/mysql ] ; then
......@@ -816,7 +791,7 @@ fi
# Files section
##############################################################################
%files -n MySQL-server%{package_suffix}
%files -n PerconaSQL-server%{package_suffix}
%defattr(-,root,root,0755)
%doc %{lic_files}
......@@ -905,7 +880,7 @@ fi
%attr(755, root, root) %{_datadir}/mysql/
%files -n MySQL-client%{package_suffix}
%files -n PerconaSQL-client%{package_suffix}
%defattr(-, root, root, 0755)
%attr(755, root, root) %{_bindir}/msql2mysql
%attr(755, root, root) %{_bindir}/mysql
......@@ -933,10 +908,10 @@ fi
%doc %attr(644, root, man) %{_mandir}/man1/mysqlshow.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysqlslap.1*
%post -n MySQL-shared%{package_suffix}
%post -n PerconaSQL-shared%{package_suffix}
/sbin/ldconfig
%postun -n MySQL-shared%{package_suffix}
%postun -n PerconaSQL-shared%{package_suffix}
/sbin/ldconfig
%if %{CLUSTER_BUILD}
......@@ -986,7 +961,7 @@ fi
%doc %attr(644, root, man) %{_mandir}/man1/ndb_cpcd.1*
%endif
%files -n MySQL-devel%{package_suffix}
%files -n PerconaSQL-devel%{package_suffix}
%defattr(-, root, root, 0755)
%if %{commercial}
%else
......@@ -1019,12 +994,12 @@ fi
%{_libdir}/mysql/libndbclient.la
%endif
%files -n MySQL-shared%{package_suffix}
%files -n PerconaSQL-shared%{package_suffix}
%defattr(-, root, root, 0755)
# Shared libraries (omit for architectures that don't support them)
%{_libdir}/*.so*
%files -n MySQL-test%{package_suffix}
%files -n PerconaSQL-test%{package_suffix}
%defattr(-, root, root, 0755)
%{_datadir}/mysql-test
%attr(755, root, root) %{_bindir}/mysql_client_test
......@@ -1043,6 +1018,10 @@ fi
# merging BK trees)
##############################################################################
%changelog
* Thu Feb 11 2010 Aleksandr Kuzminsky <aleksandr.kuzminsky@percona.com>
Package name changed to PerconaSQL
* Tue Jan 05 2010 Aleksandr Kuzminsky <aleksandr.kuzminsky@percona.com>
- Corrected emails
......
......@@ -128,9 +128,6 @@ extern ib_int64_t trx_sys_mysql_relay_log_pos;
# ifndef MYSQL_PLUGIN_IMPORT
# define MYSQL_PLUGIN_IMPORT /* nothing */
# endif /* MYSQL_PLUGIN_IMPORT */
/* This is needed because of Bug #3596. Let us hope that pthread_mutex_t
is defined the same in both builds: the MySQL server and the InnoDB plugin. */
extern MYSQL_PLUGIN_IMPORT pthread_mutex_t LOCK_thread_count;
#if MYSQL_VERSION_ID < 50124
/* this is defined in mysql_priv.h inside #ifdef MYSQL_SERVER
......@@ -923,36 +920,6 @@ convert_error_code_to_mysql(
}
}
/*************************************************************//**
If you want to print a thd that is not associated with the current thread,
you must call this function before reserving the InnoDB kernel_mutex, to
protect MySQL from setting thd->query NULL. If you print a thd of the current
thread, we know that MySQL cannot modify thd->query, and it is not necessary
to call this. Call innobase_mysql_end_print_arbitrary_thd() after you release
the kernel_mutex. */
extern "C" UNIV_INTERN
void
innobase_mysql_prepare_print_arbitrary_thd(void)
/*============================================*/
{
ut_ad(!mutex_own(&kernel_mutex));
VOID(pthread_mutex_lock(&LOCK_thread_count));
}
/*************************************************************//**
Releases the mutex reserved by innobase_mysql_prepare_print_arbitrary_thd().
In the InnoDB latching order, the mutex sits right above the
kernel_mutex. In debug builds, we assert that the kernel_mutex is
released before this function is invoked. */
extern "C" UNIV_INTERN
void
innobase_mysql_end_print_arbitrary_thd(void)
/*========================================*/
{
ut_ad(!mutex_own(&kernel_mutex));
VOID(pthread_mutex_unlock(&LOCK_thread_count));
}
/*************************************************************//**
Prints info of a THD object (== user session thread) to the given file. */
extern "C" UNIV_INTERN
......@@ -4744,24 +4711,29 @@ no_commit:
update the table upper limit. Note: last_value
will be 0 if get_auto_increment() was not called.*/
if (auto_inc <= col_max_value
&& auto_inc >= prebuilt->autoinc_last_value) {
if (auto_inc >= prebuilt->autoinc_last_value) {
set_max_autoinc:
ut_a(prebuilt->autoinc_increment > 0);
/* This should filter out the negative
values set explicitly by the user. */
if (auto_inc <= col_max_value) {
ut_a(prebuilt->autoinc_increment > 0);
ulonglong need;
ulonglong offset;
ulonglong need;
ulonglong offset;
offset = prebuilt->autoinc_offset;
need = prebuilt->autoinc_increment;
offset = prebuilt->autoinc_offset;
need = prebuilt->autoinc_increment;
auto_inc = innobase_next_autoinc(
auto_inc, need, offset, col_max_value);
auto_inc = innobase_next_autoinc(
auto_inc,
need, offset, col_max_value);
err = innobase_set_max_autoinc(auto_inc);
err = innobase_set_max_autoinc(
auto_inc);
if (err != DB_SUCCESS) {
error = err;
if (err != DB_SUCCESS) {
error = err;
}
}
}
break;
......
......@@ -153,28 +153,6 @@ get_innobase_type_from_mysql_type(
const void* field) /*!< in: MySQL Field */
__attribute__((nonnull));
/*************************************************************//**
If you want to print a thd that is not associated with the current thread,
you must call this function before reserving the InnoDB kernel_mutex, to
protect MySQL from setting thd->query NULL. If you print a thd of the current
thread, we know that MySQL cannot modify thd->query, and it is not necessary
to call this. Call innobase_mysql_end_print_arbitrary_thd() after you release
the kernel_mutex. */
UNIV_INTERN
void
innobase_mysql_prepare_print_arbitrary_thd(void);
/*============================================*/
/*************************************************************//**
Releases the mutex reserved by innobase_mysql_prepare_print_arbitrary_thd().
In the InnoDB latching order, the mutex sits right above the
kernel_mutex. In debug builds, we assert that the kernel_mutex is
released before this function is invoked. */
UNIV_INTERN
void
innobase_mysql_end_print_arbitrary_thd(void);
/*========================================*/
/******************************************************************//**
Get the variable length bounds of the given character set. */
UNIV_INTERN
......
......@@ -4336,11 +4336,6 @@ lock_print_info_summary(
/*====================*/
FILE* file) /*!< in: file where to print */
{
/* We must protect the MySQL thd->query field with a MySQL mutex, and
because the MySQL mutex must be reserved before the kernel_mutex of
InnoDB, we call innobase_mysql_prepare_print_arbitrary_thd() here. */
innobase_mysql_prepare_print_arbitrary_thd();
lock_mutex_enter_kernel();
if (lock_deadlock_found) {
......@@ -4423,7 +4418,6 @@ loop:
if (trx == NULL) {
lock_mutex_exit_kernel();
innobase_mysql_end_print_arbitrary_thd();
ut_ad(lock_validate());
......@@ -4507,7 +4501,6 @@ loop:
}
lock_mutex_exit_kernel();
innobase_mysql_end_print_arbitrary_thd();
mtr_start(&mtr);
......@@ -4518,7 +4511,6 @@ loop:
load_page_first = FALSE;
innobase_mysql_prepare_print_arbitrary_thd();
lock_mutex_enter_kernel();
goto loop;
......
--- mysql-test/t/disabled.def.orig 2009-12-16 13:21:00.000000000 -0500
+++ mysql-test/t/disabled.def 2010-01-03 11:58:54.000000000 -0500
@@ -13,3 +13,5 @@
diff -Nur mysql-test/t/disabled.def.orig mysql-test/t/disabled.def
--- mysql-test/t/disabled.def.orig 2010-01-15 12:46:09.000000000 -0500
+++ mysql-test/t/disabled.def 2010-01-31 14:09:18.000000000 -0500
@@ -11,3 +11,8 @@
##############################################################################
kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild.
query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically
rpl_killed_ddl : Bug#45520: rpl_killed_ddl fails sporadically in pb2
innodb-autoinc : Bug#49267 2009-12-02 test fails on windows because of different case mode
+read_many_rows_innodb : Bug#433409 2009-09-20 the test fails on 5.1.37 https://bugs.launchpad.net/bugs/433409
+log_tables-big : Bug#48646 2009-12-12 mysql-test main.log_tables-big fails on 5.1.40
+information_schema : Conflict with 5.1-percona-patch
+information_schema_db : Conflict with 5.1-percona-patch
+mysqlshow : Conflict with 5.1-percona-patch
......@@ -1205,9 +1205,6 @@ trx_i_s_possibly_fetch_data_into_cache(
return(1);
}
/* We are going to access trx->query in all transactions */
innobase_mysql_prepare_print_arbitrary_thd();
/* We need to read trx_sys and record/table lock queues */
mutex_enter(&kernel_mutex);
......@@ -1215,8 +1212,6 @@ trx_i_s_possibly_fetch_data_into_cache(
mutex_exit(&kernel_mutex);
innobase_mysql_end_print_arbitrary_thd();
return(0);
}
......
......@@ -1695,9 +1695,7 @@ trx_mark_sql_stat_end(
/**********************************************************************//**
Prints info about a transaction to the given file. The caller must own the
kernel mutex and must have called
innobase_mysql_prepare_print_arbitrary_thd(), unless he knows that MySQL
or InnoDB cannot meanwhile change the info printed here. */
kernel mutex. */
UNIV_INTERN
void
trx_print(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment