X-Git-Url: https://git.pld-linux.org/?p=packages%2Fmysql.git;a=blobdiff_plain;f=bug-44278.patch;fp=bug-44278.patch;h=0000000000000000000000000000000000000000;hp=b5d680cdec4733c90e11a800e610cece51699e03;hb=19538fde3e451c7f8fb1312cc6600bbd72cb525d;hpb=6f2c11898f998d5a6fa76e073a447aa851de461b diff --git a/bug-44278.patch b/bug-44278.patch deleted file mode 100644 index b5d680c..0000000 --- a/bug-44278.patch +++ /dev/null @@ -1,180 +0,0 @@ -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==--