+++ /dev/null
-http://bugs.mysql.com/bug.php?id=44278
-http://lists.mysql.com/commits/80079?f=plain
-
-From: Jim Winstead
-Date: August 4 2009 7:00pm
-Subject: bzr commit into mysql-5.1-bugteam branch (jimw:3055) Bug#44278
-List-Archive: http://lists.mysql.com/commits/80079
-X-Bug: 44278
-MIME-Version: 1.0
-Content-Type: multipart/mixed; boundary="===============1792034184=="
-
---===============1792034184==
-MIME-Version: 1.0
-Content-Type: text/plain; charset="us-ascii"
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
-
-#At file:///Users/jimw/my/mysql-5.1-fixes/ based on revid:jimw@stripped
-
- 3055 Jim Winstead 2009-08-04
- mysqlhotcopy did not handle the encoding of schema names in the filesystem, so
- schemas with most non-alphanumeric characters in their name could not be
- backed up. (Bug #44278).
-
- modified:
- scripts/mysqlhotcopy.sh
-=== modified file 'scripts/mysqlhotcopy.sh'
---- Percona-Server-5.6.14-rel62.0/scripts/mysqlhotcopy.sh~ 2013-12-20 14:56:59.000000000 +0200
-+++ Percona-Server-5.6.14-rel62.0/scripts/mysqlhotcopy.sh 2013-12-20 14:58:39.183005974 +0200
-@@ -222,7 +222,7 @@ my ($tgt_dirname, $to_other_database);
- $to_other_database=0;
- if (defined($tgt_name) && $tgt_name =~ m:^\w+$: && @db_desc <= 1)
- {
-- $tgt_dirname = "$datadir/$tgt_name";
-+ $tgt_dirname = "$datadir/" . encode_identifier_as_filename($tgt_name);
- $to_other_database=1;
- }
- elsif (defined($tgt_name) && ($tgt_name =~ m:/: || $tgt_name eq '.')) {
-@@ -285,7 +285,7 @@ foreach my $rdb ( @db_desc ) {
- }
-
- ## get list of files to copy
-- my $db_dir = "$datadir/$db";
-+ my $db_dir = "$datadir/" . encode_identifier_as_filename($db);
- opendir(DBDIR, $db_dir )
- or die "Cannot open dir '$db_dir': $!";
-
-@@ -353,7 +353,8 @@ if (defined($tgt_name) && length $tgt_na
- elsif ($opt{method} =~ /^scp\b/)
- { # we have to trust scp to hit the target
- foreach my $rdb ( @db_desc ) {
-- $rdb->{target} = "$tgt_dirname/$rdb->{src}";
-+ $rdb->{target} = "$tgt_dirname/" .
-+ encode_identifier_as_filename($rdb->{src});
- }
- }
- else
-@@ -361,7 +362,8 @@ if (defined($tgt_name) && length $tgt_na
- die "Last argument ($tgt_dirname) is not a directory\n"
- if (!(-e $tgt_dirname && -d $tgt_dirname ) );
- foreach my $rdb ( @db_desc ) {
-- $rdb->{target} = "$tgt_dirname/$rdb->{src}";
-+ $rdb->{target} = "$tgt_dirname/" .
-+ encode_identifier_as_filename($rdb->{src});
- }
- }
- }
-@@ -369,7 +371,8 @@ else {
- die "Error: expected \$opt{suffix} to exist" unless ( exists $opt{suffix} );
-
- foreach my $rdb ( @db_desc ) {
-- $rdb->{target} = "$datadir/$rdb->{src}$opt{suffix}";
-+ $rdb->{target} = "$datadir/" .
-+ encode_identifier_as_filename("$rdb->{src}$opt{suffix}");
- }
- }
-
-@@ -464,7 +464,8 @@
- else {
- mkdir($tgt_dirpath, 0750) or die "Can't create '$tgt_dirpath': $!\n"
- unless -d $tgt_dirpath;
-- my @f_info= stat "$datadir/$rdb->{src}";
-+ my @f_info= stat "$datadir/" .
-+ encode_identifier_as_filename($rdb->{src});
- chown $f_info[4], $f_info[5], $tgt_dirpath;
- }
- }
-@@ -471,7 +475,9 @@ my @failed = ();
-
- foreach my $rdb ( @db_desc )
- {
-- my @files = map { "$datadir/$rdb->{src}/$_" } @{$rdb->{files}};
-+ my @files = map { "$datadir/" .
-+ encode_identifier_as_filename($rdb->{src}) .
-+ "/$_" } @{$rdb->{files}};
- next unless @files;
-
- eval { copy_files($opt{method}, \@files, $rdb->{target}); };
-@@ -482,7 +488,8 @@ foreach my $rdb ( @db_desc )
- if ($rdb->{index})
- {
- copy_index($opt{method}, \@files,
-- "$datadir/$rdb->{src}", $rdb->{target} );
-+ "$datadir/" . encode_identifier_as_filename($rdb->{src}),
-+ $rdb->{target} );
- }
-
- if ( $opt{checkpoint} ) {
-@@ -794,6 +801,20 @@ sub quote_names {
- return "`$db`.`$table`";
- }
-
-+#
-+# In MySQL 5.1 and later, directory and table names are encoded on disk.
-+# We use the server to figure out the encoded names, and just fall back
-+# to the unencoded identifier if that fails.
-+#
-+sub encode_identifier_as_filename {
-+ my ($ident)= @_;
-+ my ($filename)= $dbh->selectrow_array(
-+ "SELECT BINARY(CAST(? AS CHAR CHARACTER SET FILENAME))",
-+ { RaiseError => 0 },
-+ $ident);
-+ return $filename ? $filename : $ident;
-+}
-+
- __END__
-
- =head1 DESCRIPTION
-
-
---===============1792034184==
-MIME-Version: 1.0
-Content-Type: text/bzr-bundle; charset="us-ascii";
- name="bzr/jimw@stripped"
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
-
-# Bazaar merge directive format 2 (Bazaar 0.90)
-# revision_id: jimw@stripped
-# target_branch: file:///Users/jimw/my/mysql-5.1-fixes/
-# testament_sha1: 21dd6f5b49582e2759b846d4abfe69e3f3c913d4
-# timestamp: 2009-08-04 12:00:08 -0700
-# source_branch: bzr+ssh://bk-internal.mysql.com/bzrroot/server/mysql-\
-# 5.1-bugteam/
-# base_revision_id: jimw@stripped
-#
-# Begin bundle
-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
-F3JFOFCQVDO13Q==
-
-
---===============1792034184==--
Source14: my.cnf
Patch0: mysql-opt.patch
Patch1: mysql-versioning.patch
-Patch2: mysqlhotcopy-5.0-5.5.patch
-Patch3: bug-67402.patch
Patch4: mysql-no-default-secure-auth.patch
Patch5: mysql-system-libhsclient.patch
# from fedora
Patch9: mysql-build.patch
Patch11: mysql-upgrade.patch
Patch12: mysql-config.patch
-Patch14: mysql-bug-43594.patch
Patch18: mysql-sphinx.patch
Patch19: mysql-chain-certs.patch
# from fedora
Patch20: mysql-dubious-exports.patch
-Patch22: bug-66589.patch
-Patch23: bug-44278.patch
Patch24: mysql-cmake.patch
Patch26: mysqldumpslow-clusters.patch
Ten pakiet zawiera definicje kodowań znaków potrzebne dla serwera i
klienta.
-%package mysqlhotcopy
-Summary: mysqlhotcopy - A Percona Server database backup program
-Summary(pl.UTF-8): mysqlhotcopy - program do tworzenia kopii zapasowych baz Percona Server
-Group: Applications/Databases
-Requires: perl-DBD-mysql
-
-%description mysqlhotcopy
-mysqlhotcopy uses LOCK TABLES, FLUSH TABLES, and cp or scp to make a
-database backup quickly. It is the fastest way to make a backup of the
-database or single tables, but it can be run only on the same machine
-where the database directories are located. mysqlhotcopy works only
-for backing up MyISAM and ARCHIVE tables.
-
-See innobackup package to backup InnoDB tables.
-
-%description mysqlhotcopy -l pl.UTF-8
-mysqlhotcopy wykorzystuje LOCK TABLES, FLUSH TABLES oraz cp i scp do
-szybkiego tworzenia kopii zapasowych baz danych. Jest to najszybszy
-sposób wykonania kopii zapasowej bazy danych lub pojedynczych tabel,
-ale może działać tylko na maszynie, na której znajdują się katalogi z
-bazą danych. mysqlhotcopy działa tylko dla tabel typu MyISAM i
-ARCHIVE.
-
-Narzędzie do tworzenia kopii tabel InnoDB znajduje się w pakiecie
-innobackup.
-
%package extras
Summary: Percona Server additional utilities
Summary(pl.UTF-8): Dodatkowe narzędzia do Percona Server
Summary(pl.UTF-8): Dodatkowe narzędzia do Percona Server napisane w Perlu
Group: Applications/Databases
Requires: %{name}-extras = %{version}-%{release}
-# this is just for the sake of smooth upgrade, not to break systems
-Requires: mysqlhotcopy = %{version}-%{release}
Requires: perl-DBD-mysql
%description extras-perl
%patch18 -p1
%endif
%patch1 -p1
-%patch2 -p1
-%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch9 -p1
%patch11 -p1
%patch12 -p1
-%patch14 -p0
%patch19 -p1
%patch20 -p1
-%patch22 -p1
-%patch23 -p1
%patch24 -p1
%patch26 -p1
%{_mandir}/man1/replace.1*
%{_mandir}/man1/resolveip.1*
-%files mysqlhotcopy
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/mysqlhotcopy
-%{_mandir}/man1/mysqlhotcopy.1*
-
%files extras-perl
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/mysql_convert_table_format