[Pkg-mysql-commits] r1154 - in trunk: . debian debian/additions/mysqlreport debian/patches debian/po

Monty Taylor mtaylor-guest at alioth.debian.org
Wed Feb 20 15:18:20 UTC 2008


tags 458798 pending
tags 460402 pending
tags 460873 pending
tags 462158 pending
tags 462265 pending
tags 463137 pending
thanks

Author: mtaylor-guest
Date: 2008-02-20 15:18:20 +0000 (Wed, 20 Feb 2008)
New Revision: 1154

Added:
   trunk/debian/patches/51_incorrect-order.dpatch
   trunk/debian/patches/60_raise-max-keylength.dpatch
Removed:
   trunk/debian/patches/51_mysqlcheck-result.dpatch
   trunk/debian/patches/92_SECURITY_CVE-2007-6303.dpatch
   trunk/debian/patches/93_SECURITY_CVE-2007-6304.dpatch
Modified:
   trunk/
   trunk/debian/additions/mysqlreport/mysqlreport
   trunk/debian/changelog
   trunk/debian/control
   trunk/debian/mysql-server-5.0.mysql-ndb-mgm.init
   trunk/debian/mysql-server-5.0.mysql-ndb.init
   trunk/debian/mysql-server-5.0.mysql.init
   trunk/debian/patches/00list
   trunk/debian/patches/52_ndb-gcc-4.2.dpatch
   trunk/debian/patches/53_integer-gcc-4.2.dpatch
   trunk/debian/patches/54_ssl-client-support.dpatch
   trunk/debian/po/ja.po
   trunk/debian/rules
Log:
Merged.



Property changes on: trunk
___________________________________________________________________
Name: bzr:revision-info
   - timestamp: 2008-02-18 15:39:22.894000053 -0300
committer: Monty Taylor <monty at inaugust.com>
properties: 
	branch-nick: trunk

   + timestamp: 2008-02-18 15:42:24.339999914 -0300
committer: Monty Taylor <monty at inaugust.com>
properties: 
	branch-nick: trunk

Name: bzr:ancestry:v3-trunk0
   - svn-v3-trunk0:bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:1093
monty at inaugust.com-20071219005821-v5qtsv9qvi70s0mt
monty at inaugust.com-20071227223102-6uiuykhyivk9r6q9
svn-v3-trunk0:bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:1115

   + svn-v3-trunk0:bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:1093
monty at inaugust.com-20071219005821-v5qtsv9qvi70s0mt
monty at inaugust.com-20071227223102-6uiuykhyivk9r6q9
svn-v3-trunk0:bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:1115
svn-v3-trunk0:bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:1150

Name: bzr:file-ids
   - debian/patches/55_testsuite-2008.dpatch	1115 at bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:debian%2Fpatches%2F55_testsuite-2008.dpatch

   + debian/patches/60_raise-max-keylength.dpatch	1135 at bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:debian%2Fpatches%2F60_raise-max-keylength.dpatch
debian/patches/51_incorrect-order.dpatch	1138 at bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:trunk:debian%2Fpatches%2F51_incorrect-order.dpatch

Name: bzr:revision-id:v3-trunk0
   - 588 monty at inaugust.com-20071218115655-e9a3qdeanxkm37q0
589 monty at inaugust.com-20071219010144-z07rx72f4aryuxd5
590 monty at inaugust.com-20071219010251-1xj8ebk20xcavzzz
591 monty at inaugust.com-20071219133703-cfc7gcr1mfrbff5k
594 monty at inaugust.com-20071219160333-4t3d5sm5ou2cnx42
600 monty at inaugust.com-20071227231232-38mmb4bf89bai9tz
601 monty at inaugust.com-20071227231533-6u75bgvr52589l9d
602 monty at inaugust.com-20071227232516-5e1uuemjok6gax36
603 monty at inaugust.com-20071227232613-mvmphhlfm3ucfjre
604 monty at inaugust.com-20071227232728-26ik99mzw0yhq4vi
605 monty at inaugust.com-20071227234930-zlri2er7sq9obnot
606 monty at inaugust.com-20071228004201-2uib1ipksw8yeodu
607 monty at inaugust.com-20080218183922-0rfctqrxnkvqirvz

   + 588 monty at inaugust.com-20071218115655-e9a3qdeanxkm37q0
589 monty at inaugust.com-20071219010144-z07rx72f4aryuxd5
590 monty at inaugust.com-20071219010251-1xj8ebk20xcavzzz
591 monty at inaugust.com-20071219133703-cfc7gcr1mfrbff5k
594 monty at inaugust.com-20071219160333-4t3d5sm5ou2cnx42
600 monty at inaugust.com-20071227231232-38mmb4bf89bai9tz
601 monty at inaugust.com-20071227231533-6u75bgvr52589l9d
602 monty at inaugust.com-20071227232516-5e1uuemjok6gax36
603 monty at inaugust.com-20071227232613-mvmphhlfm3ucfjre
604 monty at inaugust.com-20071227232728-26ik99mzw0yhq4vi
605 monty at inaugust.com-20071227234930-zlri2er7sq9obnot
606 monty at inaugust.com-20071228004201-2uib1ipksw8yeodu
607 monty at inaugust.com-20080218183922-0rfctqrxnkvqirvz
608 monty at inaugust.com-20080218184224-jq7u016hfc6gvt16

Name: svk:merge
   - bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:/trunk:1093
bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:/trunk:1115

   + bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:/trunk:1093
bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:/trunk:1115
bb5a2ed9-75f0-0310-a2b8-e46d7b0922c1:/trunk:1150


Modified: trunk/debian/additions/mysqlreport/mysqlreport
===================================================================
--- trunk/debian/additions/mysqlreport/mysqlreport	2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/additions/mysqlreport/mysqlreport	2008-02-20 15:18:20 UTC (rev 1154)
@@ -1,10 +1,10 @@
 #!/usr/bin/perl -w
 
-# mysqlreport v3.2 May 26 2007
+# mysqlreport v3.4a Jan 23 2008 
 # http://hackmysql.com/mysqlreport
 
 # mysqlreport makes an easy-to-read report of important MySQL status values.
-# Copyright (C) 2006  Daniel Nichter
+# Copyright 2006-2008 Daniel Nichter
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU General Public License
@@ -37,10 +37,10 @@
 my (%stats, %vars); # SHOW STATUS, SHOW VARIABLES
 my (%DMS_vals, %Com_vals, %ib_vals);
 my ($dbh, $query);
-my ($questions, $key_read_ratio, $key_write_ratio, $dms);
+my ($questions, $key_read_ratio, $key_write_ratio, $dms, $slow_query_t);
 my ($key_cache_block_size, $key_buffer_used, $key_buffer_usage);
 my ($qc_mem_used, $qc_hi_r, $qc_ip_r); # Query Cache
-my ($need_myisam_vals, $need_innodb_vals);
+my $have_innodb_vals;
 my ($ib_bp_used, $ib_bp_total, $ib_bp_read_ratio);
 my ($relative_live, $relative_infiles);
 my $real_uptime;
@@ -54,16 +54,6 @@
    "port=s",
    "socket=s",
    "no-mycnf",
-   "dtq|tdq|dq",
-   "dms",
-   "com:i",
-   "sas",
-   "tab",
-   "qcache",
-   "id-only|ido|innodb-only",
-   "id|innodb",
-   "dpr|drp",
-   "all",
    "infile|in=s",
    "outfile=s",
    "flush-status",
@@ -99,11 +89,9 @@
    else { $mycnf{'pass'} = $op{'password'}; } # Use password given on command line
 }
 
-if($op{'all'} and not defined $op{'com'})  { $op{'com'} = 3; }
-if(defined $op{'com'} and $op{'com'} == 0) { $op{'com'} = 3; }
+$op{'com'} ||= 3;
+$op{'c'}   ||= 1; # Used in collect_reports() if --r given integer value
 
-$op{'c'} ||= 1; # Used in collect_reports() if --r given integer value
-
 if(defined $op{'r'})
 {
    if($op{r}) { $relative_live    = 1; }
@@ -160,8 +148,7 @@
    $dbh = DBI->connect($dsn, $mycnf{'user'}, $mycnf{'pass'}) or die;
 }
 
-# Determine if we need values from MyISAM, InnoDB, or both
-which_vals();
+$have_innodb_vals = 1; # This might be set to 0 later in get_MySQL_version()
 
 if(defined $op{'r'})
 {
@@ -189,8 +176,8 @@
 
    get_Com_values();
 
-   set_myisam_vals() if $need_myisam_vals;
-   set_ib_vals()     if $need_innodb_vals;
+   set_myisam_vals();
+   set_ib_vals() if $have_innodb_vals;
 
    write_report();
 }
@@ -205,7 +192,7 @@
 sub show_help_and_exit
 {
    print <<"HELP";
-mysqlreport v3.2 May 26 2007
+mysqlreport v3.4a Jan 23 2008
 mysqlreport makes an easy-to-read report of important MySQL status values.
 
 Command line options (abbreviations work):
@@ -221,25 +208,14 @@
    --flush-status    Issue FLUSH STATUS; after getting current values
    --relative X      Generate relative reports. If X is an integer,
                      reports are live from the MySQL server X seconds apart.
-                     If X is a list of infiles, reports are generated
-                     from the infiles in the order that the infiles are given.
+                     If X is a list of infiles (file1 file2 etc.),
+                     reports are generated from the infiles in the order
+                     that they are given.
    --report-count N  Collect N number of live relative reports (default 1)
    --detach          Fork and detach from terminal (run in background)
    --help            Prints this
    --debug           Print debugging information
 
-   Extra Reports:
-   --dtq           Show Distribution of Total Questions
-   --dms           Show DMS details
-   --com N         Show top N number of non-DMS questions
-   --sas           Show SELECT and Sort report
-   --qcache        Show Query Cache report
-   --tab           Show Thread, Aborts, and Bytes reports
-   --innodb        Show InnoDB report
-   --innodb-only   Show only InnoDB report (hide ALL other reports)
-   --dpr           Show Data, Pages, Rows report in InnoDB report
-   --all           Show ALL extra reports (if possible)
-
 Visit http://hackmysql.com/mysqlreport for more information.
 HELP
 
@@ -262,15 +238,6 @@
    close MYCNF;
 }
 
-sub which_vals
-{
-   $need_myisam_vals = 1;
-   $need_innodb_vals = 1; # This could be set to 0 later in get_vals_vars()
-
-   $need_myisam_vals = 0, return if have_op 'id-only';
-   $need_innodb_vals = 0, return if (!$op{'id'} && !$op{'id-only'} && !$op{'all'});
-}
-
 sub collect_reports
 {
    my $i;
@@ -282,10 +249,10 @@
 
    %stats_past = %stats;
 
-   set_myisam_vals() if $need_myisam_vals;
-   set_ib_vals()     if $need_innodb_vals;
+   set_myisam_vals();
+   set_ib_vals() if $have_innodb_vals;
 
-   print "#\n# Begining report @ 0 0:0:0\n#\n";
+   print "#\n# Beginning report, 0 0:0:0\n#\n";
 
    write_report();
 
@@ -293,7 +260,7 @@
    {
       sleep($op{'r'});
 
-      print "\n#\n# Interval report " , $i + 1 , " @ +", sec_to_dhms(($i + 1) * $op{'r'}), "\n#\n";
+      print "\n#\n# Interval report " , $i + 1 , ", +", sec_to_dhms(($i + 1) * $op{'r'}), "\n#\n";
 
       get_vals();
 
@@ -320,8 +287,11 @@
       $n_stats = 0;
 
       # Count number of status value sets
-      $n_stats++ while $slurp =~ /Variable_name[\s|]+Value/g;
+      $n_stats++ while $slurp =~ /Aborted_clients/g;
 
+      print "read_relative_infiles: found $n_stats sets of status values in file '$infile'\n"
+         if $op{debug};
+
       if($n_stats == 1)
       {
          read_infile($infile);
@@ -338,9 +308,13 @@
          # Create a tmp file for each set of status values
          for($i = 0; $i < $n_stats; $i++)
          {
-            my ($fh, $name) = tempfile() or die("Cannot open temporary file for writing: $!\n");
+            my ($fh, $name) = tempfile()
+               or die("read_relative_infiles: cannot open temporary file for writing: $!\n");
+
             push(@tmpfile_fh, $fh);
             push(@tmpfile_name, $name);
+
+            print "read_relative_infiles: created tmp file '$name'\n" if $op{debug};
          }
 
          $i = 0;
@@ -358,15 +332,15 @@
 
             print;
 
-            if(/Variable_name[\s|]+Value/)
+            if(/Aborted_clients/)
             {
                # The infile should begin with manually inserted system
                # var values (like key_buffer_size = 128M). Therefore,
-               # the first occurance of /Variable_name[\s|]+Value/ indicates
+               # the first occurance of /Aborted_clients/ indicates
                # the first set of status values only if no sets have
                # occured yet ($stat_n = 0). In this case, the following
                # status values are printed to the current fh along with
-               # the system var values read so far until /Variable_name[\s|]+Value/
+               # the system var values read so far until /Aborted_clients/
                # occurs again. Then begins the second and subsequent sets
                # of status values.
                next if $stat_n++ == 0;
@@ -388,6 +362,9 @@
 
             if($WIN) { `del $tmpfile_name[$i]`;   }
             else     { `rm -f $tmpfile_name[$i]`; }
+
+            print "read_relative_infiles: deleted tmp file '$tmpfile_name[$i]'\n"
+               if $op{debug};
          }
 
       } # if($n_stats > 1)
@@ -404,16 +381,19 @@
 
       %stats_past = %stats;
 
-      set_myisam_vals() if $need_myisam_vals;
-      set_ib_vals()     if $need_innodb_vals;
+      set_myisam_vals();
+      set_ib_vals() if $have_innodb_vals;
 
-      print "#\n# Begining report @ 0 0:0:0\n#\n";
+      print "#\n# Beginning report, 0 0:0:0\n#\n";
 
       write_report();
    }
    else
    {
-      print "\n#\n# Interval report $report_n @ +" , sec_to_dhms($stats{Uptime} - $stats_past{Uptime}), "\n#\n";
+      print "\n#\n# Interval report ", $report_n - 1, ", +",
+         sec_to_dhms($stats{Uptime} - $stats_past{Uptime}),
+         "\n#\n";
+
       write_relative_report();
    }
 }
@@ -463,6 +443,9 @@
    $vars{'max_connections'} = 100     if !exists $vars{'max_connections'};
    $vars{'key_buffer_size'} = 8388600 if !exists $vars{'key_buffer_size'}; # 8M
    $vars{'thread_cache_size'} = 0     if !exists $vars{'thread_cache_size'}; 
+   $vars{'tmp_table_size'} = 0        if !exists $vars{'tmp_table_size'};
+   $vars{'long_query_time'} = '?'     if !exists $vars{'long_query_time'};
+   $vars{'log_slow_queries'} = '?'    if !exists $vars{'log_slow_queries'};
 
    # One should also add:
    #    key_cache_block_size
@@ -484,9 +467,16 @@
       }
 
       # Explicit var = val (e.g. key_buffer_size = 128M)
-      $vars{$1} = ($3 ? $2 * 1024 * 1024 : $2) and next if(/^\s*(\w+)\s*=\s*([0-9.]+)(M*)\s*$/);
-
-      # print "Unrecognized line in infile: $_\n";
+      if( /^\s*(\w+)\s*=\s*([0-9.]+)(M*)\s*$/ )
+      {
+         $vars{$1} = ($3 ? $2 * 1024 * 1024 : $2);
+         print "read_infile: read '$_' as $1 = $vars{$1}\n" if $op{debug};
+         next;
+      }
+      else
+      {
+         print "read_infile: unrecognized line: '$_'\n" if $op{debug};
+      }
    }
    close INFILE;
 
@@ -518,7 +508,7 @@
    # Innodb_ status values were added in 5.0.2
    if($major <= 4 || $patch < 2)
    {
-      $need_innodb_vals = 0;
+      $have_innodb_vals = 0;
       print "get_MySQL_version: no InnoDB reports because MySQL version is older than 5.0.2\n" if $op{debug};
    }
 }
@@ -563,6 +553,9 @@
    );
 
    $dms = $DMS_vals{SELECT} + $DMS_vals{INSERT} + $DMS_vals{REPLACE} + $DMS_vals{UPDATE} + $DMS_vals{DELETE};
+
+   $slow_query_t = "($vars{long_query_time})";
+
 }
 
 sub set_ib_vals
@@ -573,9 +566,10 @@
 
    $ib_bp_total = $stats{'Innodb_buffer_pool_pages_total'} * $stats{'Innodb_page_size'};
 
-   $ib_bp_read_ratio = sprintf "%.3f",
+   $ib_bp_read_ratio = sprintf "%.2f",
                        ($stats{'Innodb_buffer_pool_read_requests'} ?
-                        $stats{'Innodb_buffer_pool_reads'} / $stats{'Innodb_buffer_pool_read_requests'} :
+                        100 - ($stats{'Innodb_buffer_pool_reads'} /
+                           $stats{'Innodb_buffer_pool_read_requests'}) * 100 :
                         0);
 }
 
@@ -595,8 +589,8 @@
       }
 
       # These values are either "at present" or "high water marks".
-      # IMO, it is more logical not to relativize these values. Doing
-      # otherwise causes them to display strange and misleading values.
+      # Therefore, it is more logical to not relativize these values.
+      # Doing otherwise causes strange and misleading values.
       $stats{'Key_blocks_used'}      = $stats_present{'Key_blocks_used'};
       $stats{'Open_tables'}          = $stats_present{'Open_tables'};
       $stats{'Max_used_connections'} = $stats_present{'Max_used_connections'};
@@ -606,13 +600,34 @@
       $stats{'Qcache_free_blocks'}   = $stats_present{'Qcache_free_blocks'};
       $stats{'Qcache_total_blocks'}  = $stats_present{'Qcache_total_blocks'};
       $stats{'Qcache_free_memory'}   = $stats_present{'Qcache_free_memory'};
+      if($have_innodb_vals)
+      {
+         $stats{'Innodb_page_size'}                 = $stats_present{'Innodb_page_size'};
+         $stats{'Innodb_buffer_pool_pages_data'}    = $stats_present{'Innodb_buffer_pool_pages_data'};
+         $stats{'Innodb_buffer_pool_pages_dirty'}   = $stats_present{'Innodb_buffer_pool_pages_dirty'};
+         $stats{'Innodb_buffer_pool_pages_free'}    = $stats_present{'Innodb_buffer_pool_pages_free'};
+         $stats{'Innodb_buffer_pool_pages_latched'} = $stats_present{'Innodb_buffer_pool_pages_latched'};
+         $stats{'Innodb_buffer_pool_pages_misc'}    = $stats_present{'Innodb_buffer_pool_pages_misc'};
+         $stats{'Innodb_buffer_pool_pages_total'}   = $stats_present{'Innodb_buffer_pool_pages_total'};
+         $stats{'Innodb_data_pending_fsyncs'}       = $stats_present{'Innodb_data_pending_fsyncs'};
+         $stats{'Innodb_data_pending_reads'}        = $stats_present{'Innodb_data_pending_reads'};
+         $stats{'Innodb_data_pending_writes'}       = $stats_present{'Innodb_data_pending_writes'};
 
+         # Innodb_row_lock_ values were added in MySQL 5.0.3
+         if((($minor == 0 && $patch >= 3) || $minor > 0))
+         {
+            $stats{'Innodb_row_lock_current_waits'} = $stats_present{'Innodb_row_lock_current_waits'};
+            $stats{'Innodb_row_lock_time_avg'}      = $stats_present{'Innodb_row_lock_time_avg'};
+            $stats{'Innodb_row_lock_time_max'}      = $stats_present{'Innodb_row_lock_time_max'};
+         }
+      }
+
       get_Com_values();
 
       %stats_past = %stats_present;
 
-      set_myisam_vals() if $need_myisam_vals;
-      set_ib_vals()     if $need_innodb_vals;
+      set_myisam_vals();
+      set_ib_vals() if $have_innodb_vals;
 
       write_report();
 }
@@ -620,21 +635,19 @@
 sub write_report
 {
    $~ = 'MYSQL_TIME', write;
-   if($need_myisam_vals)
-   {
-      $~ = 'KEY_BUFF_MAX', write;
-      if($key_buffer_usage != -1)     { $~ = 'KEY_BUFF_USAGE', write }
-      $~ = 'KEY_RATIOS', write;
-      if($op{'dtq'}    or $op{'all'}) { write_DTQ(); }
-      $~ = 'SLOW_DMS', write;
-      if($op{'dms'}    or $op{'all'}) { write_DMS(); }
-      if($op{'com'}    or $op{'all'}) { write_Com(); }
-      if($op{'sas'}    or $op{'all'}) { $~ = 'SAS', write; }
-      if($op{'qcache'} or $op{'all'}) { write_qcache(); }
-      $~ = 'REPORT_END', write;
-      if($op{'tab'}    or $op{'all'}) { $~ = 'TAB', write; }
-   }
-   write_InnoDB() if $need_innodb_vals;
+   $~ = 'KEY_BUFF_MAX', write;
+   if($key_buffer_usage != -1) { $~ = 'KEY_BUFF_USAGE', write }
+   $~ = 'KEY_RATIOS', write;
+   write_DTQ();
+   $~ = 'SLOW_DMS', write;
+   write_DMS();
+   write_Com();
+   $~ = 'SAS', write; 
+   write_qcache(); 
+   $~ = 'REPORT_END', write;
+   $~ = 'TAB', write;
+
+   write_InnoDB() if $have_innodb_vals;
 }
 
 sub sec_to_dhms # Seconds to days hours:minutes:seconds
@@ -848,11 +861,9 @@
       write;
    }
 
-   if($op{'dpr'} || $op{'all'}) # Data, Pages, Rows
-   {
-      $~ = 'IB_DPR';
-      write;
-   }
+   # Data, Pages, Rows
+   $~ = 'IB_DPR';
+   write;
 }
 
 sub have_op
@@ -940,8 +951,8 @@
 .
 
 format SLOW_DMS =
-Slow        @>>>>>>>>  @>>>>>/s  @>>>>>> @>>>>>  %DMS: @>>>>>
-make_short($stats{'Slow_queries'}), t($stats{'Slow_queries'}), ($op{'dtq'} || $op{'all'} ? '' : '%Total:'), perc($stats{'Slow_queries'}, $questions), perc($stats{'Slow_queries'}, $dms)
+Slow @<<<<< @>>>>>>>>  @>>>>>/s          @>>>>>  %DMS: @>>>>>  Log: @>> 
+$slow_query_t, make_short($stats{'Slow_queries'}), t($stats{'Slow_queries'}), perc($stats{'Slow_queries'}, $questions), perc($stats{'Slow_queries'}, $dms), $vars{'log_slow_queries'}
 DMS         @>>>>>>>>  @>>>>>/s          @>>>>>
 make_short($dms), t($dms), perc($dms, $questions)
 .
@@ -1023,8 +1034,8 @@
 __ Created Temp ________________________________________________________
 Disk table  @>>>>>>>>  @>>>>>/s
 make_short($stats{'Created_tmp_disk_tables'}), t($stats{'Created_tmp_disk_tables'})
-Table       @>>>>>>>>  @>>>>>/s
-make_short($stats{'Created_tmp_tables'}), t($stats{'Created_tmp_tables'})
+Table       @>>>>>>>>  @>>>>>/s    Size: @>>>>>
+make_short($stats{'Created_tmp_tables'}), t($stats{'Created_tmp_tables'}), make_short($vars{'tmp_table_size'}, 1, 1)
 File        @>>>>>>>>  @>>>>>/s
 make_short($stats{'Created_tmp_files'}), t($stats{'Created_tmp_files'})
 .
@@ -1059,7 +1070,7 @@
 __ InnoDB Buffer Pool __________________________________________________
 Usage         @>>>>>> of @>>>>>>  %Used: @>>>>>
 make_short($ib_bp_used, 1), make_short($ib_bp_total, 1), perc($ib_bp_used, $ib_bp_total)
-Read ratio    @>>>>>>
+Read hit      @>>>>>%
 $ib_bp_read_ratio;
 Pages
   Free      @>>>>>>>>            %Total: @>>>>>
@@ -1138,4 +1149,3 @@
   Updated   @>>>>>>>>  @>>>>>/s
 make_short($stats{'Innodb_rows_updated'}), t($stats{'Innodb_rows_updated'})
 .
-

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/changelog	2008-02-20 15:18:20 UTC (rev 1154)
@@ -1,9 +1,64 @@
-mysql-dfsg-5.0 (5.0.51-3) UNRELEASED; urgency=low
+mysql-dfsg-5.0 (5.0.51a-4) UNRELEASED; urgency=low
 
   * Added Sphinx SE integration
 
  -- Monty Taylor <monty at inaugust.com>  Wed, 02 Jan 2008 09:25:11 -0600
 
+mysql-dfsg-5.0 (5.0.51a-3) unstable; urgency=low
+
+  * Disable patch 60_raise-max-keylength.dpatch in default build, but still
+    ship it in the source package.
+
+ -- Norbert Tretkowski <nobse at debian.org>  Sun, 17 Feb 2008 18:54:42 +0100
+
+mysql-dfsg-5.0 (5.0.51a-2) unstable; urgency=low
+
+  * Replace 54_ssl-client-support.dpatch added in 5.0.51-2 with patch from
+    upstream.
+  * Ignore errors in testsuite on powerpc.
+
+ -- Norbert Tretkowski <nobse at debian.org>  Sun, 17 Feb 2008 12:42:58 +0100
+
+mysql-dfsg-5.0 (5.0.51a-1) unstable; urgency=low
+
+  [ Norbert Tretkowski ]
+  * New upstream security hotfix release. Low priority upload anyway because
+    5.0.51-3 already contained all security fixes.
+  * Remove patches:
+    + debian/patches/51_mysqlcheck-result.dpatch
+    + debian/patches/92_SECURITY_CVE-2007-6303.dpatch
+    + debian/patches/93_SECURITY_CVE-2007-6304.dpatch
+    + debian/patches/94_SECURITY_CVE-2008-0226+0227.dpatch
+  * Add recommendation on libhtml-template-perl to -server package, used by
+    ndb_size. (closes: #462265)
+  * New patch 60_raise-max-keylength.dpatch to raise the maximum key length to
+    4005 bytes or 1335 UTF-8 characters. (closes: #463137)
+  * New patch 51_sort-order.dpatch from 5.0.52 to fix incorrect order when
+    using range conditions on 2 tables or more.
+  * Support DEB_BUILD_OPTIONS option 'nocheck' to skip tests.
+  * Update mysqlreport to 3.4a release.
+
+  [ Luk Claes ]
+  * Updated Japanese debconf translation. (closes: #462158)
+
+ -- Norbert Tretkowski <nobse at debian.org>  Wed, 06 Feb 2008 11:57:45 +0100
+
+mysql-dfsg-5.0 (5.0.51-3) unstable; urgency=high
+
+  * SECURITY:
+    Fix for CVE-2008-0226 and CVE-2008-0227: Three vulnerabilities in yaSSL
+    versions 1.7.5 and earlier were discovered that could lead to a server
+    crash or execution of unauthorized code. The exploit requires a server
+    with yaSSL enabled and TCP/IP connections enabled, but does not require
+    valid MySQL account credentials. The exploit does not apply to OpenSSL.
+    (closes: #460873)
+  * Fix LSB header in init scripts (patch from Petter Reinholdtsen).
+    (closes: #458798)
+  * Run testsuite on all archs, but ignore errors on alpha, arm, armel, hppa,
+    mipsel and sparc. (closes: #460402)
+
+ -- Norbert Tretkowski <nobse at debian.org>  Wed, 23 Jan 2008 11:37:11 +0100
+
 mysql-dfsg-5.0 (5.0.51-2) unstable; urgency=low
 
   [ Monty Taylor ]
@@ -24,7 +79,7 @@
   * New patch 54_ssl-client-support.dpatch to fix SSL client support.
   * Don't run testsuite on alpha, arm, hppa, mipsel and sparc.
 
- -- Norbert Tretkowski <nobse at debian.org>  Wed, 02 Jan 2008 13:55:39 +0100
+ -- Norbert Tretkowski <nobse at debian.org>  Wed, 02 Jan 2008 18:40:04 +0100
 
 mysql-dfsg-5.0 (5.0.51-1) unstable; urgency=low
 

Modified: trunk/debian/control
===================================================================
--- trunk/debian/control	2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/control	2008-02-20 15:18:20 UTC (rev 1154)
@@ -69,7 +69,7 @@
 Package: mysql-server-5.0
 Architecture: any                                                               
 Suggests: tinyca
-Recommends: mailx
+Recommends: mailx, libhtml-template-perl
 Pre-Depends: mysql-common (>= ${source:Version}), adduser (>= 3.40), debconf
 Depends: mysql-client-5.0 (>= ${binary:Version}), libdbi-perl, perl (>= 5.6), ${shlibs:Depends}, ${misc:Depends}, psmisc, passwd, lsb-base (>= 3.0-10)
 Conflicts: mysql-server (<< ${source:Version})

Modified: trunk/debian/mysql-server-5.0.mysql-ndb-mgm.init
===================================================================
--- trunk/debian/mysql-server-5.0.mysql-ndb-mgm.init	2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/mysql-server-5.0.mysql-ndb-mgm.init	2008-02-20 15:18:20 UTC (rev 1154)
@@ -2,10 +2,10 @@
 #
 ### BEGIN INIT INFO
 # Provides:          mysql-ndb-mgm
-# Required-Start:    $syslog
-# Required-Stop:     $syslog mysql
-# Should-Start:      $local_fs $remote_fs $network $named $time
-# Should-Stop:       $local_fs $remote_fs $network $named $time
+# Required-Start:    $remote_fs $syslog
+# Required-Stop:     $remote_fs $syslog
+# Should-Start:      $network $named $time
+# Should-Stop:       $network $named $time
 # Default-Start:     2 3 4 5
 # Default-Stop:      0 1 6
 # Short-Description: Start and stop the mysql database cluster management daemon

Modified: trunk/debian/mysql-server-5.0.mysql-ndb.init
===================================================================
--- trunk/debian/mysql-server-5.0.mysql-ndb.init	2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/mysql-server-5.0.mysql-ndb.init	2008-02-20 15:18:20 UTC (rev 1154)
@@ -2,10 +2,10 @@
 #
 ### BEGIN INIT INFO
 # Provides:          mysql-ndb
-# Required-Start:    $syslog mysql mysql-ndb-mgm
-# Required-Stop:     $syslog mysql mysql-ndb-mgm
-# Should-Start:      $local_fs $remote_fs $network $named $time
-# Should-Stop:       $local_fs $remote_fs $network $named $time
+# Required-Start:    $remote_fs $syslog mysql-ndb-mgm
+# Required-Stop:     $remote_fs $syslog mysql-ndb-mgm
+# Should-Start:      $network $named $time
+# Should-Stop:       $network $named $time
 # Default-Start:     2 3 4 5
 # Default-Stop:      0 1 6
 # Short-Description: Start and stop the mysql database cluster server daemon

Modified: trunk/debian/mysql-server-5.0.mysql.init
===================================================================
--- trunk/debian/mysql-server-5.0.mysql.init	2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/mysql-server-5.0.mysql.init	2008-02-20 15:18:20 UTC (rev 1154)
@@ -2,10 +2,10 @@
 #
 ### BEGIN INIT INFO
 # Provides:          mysql
-# Required-Start:    $syslog mysql-ndb-mgm
-# Required-Stop:     $syslog
-# Should-Start:      $local_fs $remote_fs $network $named $time
-# Should-Stop:       $local_fs $remote_fs $network $named $time
+# Required-Start:    $remote_fs $syslog mysql-ndb
+# Required-Stop:     $remote_fs $syslog mysql-ndb
+# Should-Start:      $network $named $time
+# Should-Stop:       $network $named $time
 # Default-Start:     2 3 4 5
 # Default-Stop:      0 1 6
 # Short-Description: Start and stop the mysql database server daemon

Modified: trunk/debian/patches/00list
===================================================================
--- trunk/debian/patches/00list	2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/patches/00list	2008-02-20 15:18:20 UTC (rev 1154)
@@ -7,15 +7,14 @@
 44_scripts__mysql_config__libs.dpatch
 45_warn-CLI-passwords.dpatch
 50_fix_mysqldump.dpatch
-51_mysqlcheck-result.dpatch
+51_incorrect-order.dpatch
 52_ndb-gcc-4.2.dpatch
 53_integer-gcc-4.2.dpatch
 54_ssl-client-support.dpatch
 55_testsuite-2008.dpatch
+#60_raise-max-keylength.dpatch
 86_PATH_MAX.dpatch
 88_sphinx_se.dpatch
 89_ndb__staticlib.dpatch
 90_upstreamdebiandir.dpatch
 91_SECURITY_CVE-2007-5925.dpatch
-92_SECURITY_CVE-2007-6303.dpatch
-93_SECURITY_CVE-2007-6304.dpatch

Added: trunk/debian/patches/51_incorrect-order.dpatch
===================================================================
--- trunk/debian/patches/51_incorrect-order.dpatch	                        (rev 0)
+++ trunk/debian/patches/51_incorrect-order.dpatch	2008-02-20 15:18:20 UTC (rev 1154)
@@ -0,0 +1,115 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 51_incorrect-order.dpatch by Norbert Tretkowski <nobse at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: http://lists.mysql.com/commits/37246
+
+ at DPATCH@
+diff -Nrup a/mysql-test/r/select.result b/mysql-test/r/select.result
+--- a/mysql-test/r/select.result	2007-09-13 17:31:07 +04:00
++++ b/mysql-test/r/select.result	2007-11-07 14:00:41 +03:00
+@@ -4096,4 +4096,43 @@ SELECT `x` FROM v3;
+ x
+ 1
+ DROP VIEW v1, v2, v3;
++CREATE TABLE t1 (c11 INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY);
++CREATE TABLE t2 (c21 INT UNSIGNED NOT NULL, 
++c22 INT DEFAULT NULL, 
++KEY(c21, c22));
++CREATE TABLE t3 (c31 INT UNSIGNED NOT NULL DEFAULT 0, 
++c32 INT DEFAULT NULL, 
++c33 INT NOT NULL, 
++c34 INT UNSIGNED DEFAULT 0,
++KEY (c33, c34, c32));
++INSERT INTO t1 values (),(),(),(),();
++INSERT INTO t2 SELECT a.c11, b.c11 FROM t1 a, t1 b;
++INSERT INTO t3 VALUES (1, 1, 1, 0), 
++(2, 2, 0, 0), 
++(3, 3, 1, 0), 
++(4, 4, 0, 0), 
++(5, 5, 1, 0);
++SELECT c32 FROM t1, t2, t3 WHERE t1.c11 IN (1, 3, 5) AND 
++t3.c31 = t1.c11 AND t2.c21 = t1.c11 AND 
++t3.c33 = 1 AND t2.c22 in (1, 3) 
++ORDER BY c32;
++c32
++1
++1
++3
++3
++5
++5
++SELECT c32 FROM t1, t2, t3 WHERE t1.c11 IN (1, 3, 5) AND 
++t3.c31 = t1.c11 AND t2.c21 = t1.c11 AND 
++t3.c33 = 1 AND t2.c22 in (1, 3) 
++ORDER BY c32 DESC;
++c32
++5
++5
++3
++3
++1
++1
++DROP TABLE t1, t2, t3;
+ End of 5.0 tests
+diff -Nrup a/mysql-test/t/select.test b/mysql-test/t/select.test
+--- a/mysql-test/t/select.test	2007-09-15 09:02:02 +04:00
++++ b/mysql-test/t/select.test	2007-11-07 14:00:41 +03:00
+@@ -3484,4 +3484,40 @@ DROP VIEW v1, v2, v3;
+ 
+ --enable_ps_protocol
+ 
++#
++# Bug #30666: Incorrect order when using range conditions on 2 tables or more
++#
++
++CREATE TABLE t1 (c11 INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY);
++CREATE TABLE t2 (c21 INT UNSIGNED NOT NULL, 
++                 c22 INT DEFAULT NULL, 
++                 KEY(c21, c22));
++CREATE TABLE t3 (c31 INT UNSIGNED NOT NULL DEFAULT 0, 
++                 c32 INT DEFAULT NULL, 
++                 c33 INT NOT NULL, 
++                 c34 INT UNSIGNED DEFAULT 0,
++                 KEY (c33, c34, c32));
++
++INSERT INTO t1 values (),(),(),(),();
++INSERT INTO t2 SELECT a.c11, b.c11 FROM t1 a, t1 b;
++INSERT INTO t3 VALUES (1, 1, 1, 0), 
++                      (2, 2, 0, 0), 
++                      (3, 3, 1, 0), 
++                      (4, 4, 0, 0), 
++                      (5, 5, 1, 0);
++
++# Show that ORDER BY produces the correct results order
++SELECT c32 FROM t1, t2, t3 WHERE t1.c11 IN (1, 3, 5) AND 
++                                 t3.c31 = t1.c11 AND t2.c21 = t1.c11 AND 
++                                 t3.c33 = 1 AND t2.c22 in (1, 3) 
++                           ORDER BY c32; 
++
++# Show that ORDER BY DESC produces the correct results order
++SELECT c32 FROM t1, t2, t3 WHERE t1.c11 IN (1, 3, 5) AND 
++                                 t3.c31 = t1.c11 AND t2.c21 = t1.c11 AND 
++                                 t3.c33 = 1 AND t2.c22 in (1, 3) 
++                           ORDER BY c32 DESC; 
++
++DROP TABLE t1, t2, t3;
++
+ --echo End of 5.0 tests
+diff -Nrup a/sql/sql_select.cc b/sql/sql_select.cc
+--- a/sql/sql_select.cc	2007-10-02 18:45:48 +04:00
++++ b/sql/sql_select.cc	2007-11-07 14:00:42 +03:00
+@@ -6071,10 +6071,9 @@ make_join_readinfo(JOIN *join, ulonglong
+       ordered. If there is a temp table the ordering is done as a last
+       operation and doesn't prevent join cache usage.
+     */
+-    if (!ordered_set && !join->need_tmp &&
+-        ((table == join->sort_by_table &&
+-         (!join->order || join->skip_sort_order)) ||
+-        (join->sort_by_table == (TABLE *) 1 && i != join->const_tables)))
++    if (!ordered_set && !join->need_tmp && 
++        (table == join->sort_by_table ||
++         (join->sort_by_table == (TABLE *) 1 && i != join->const_tables)))
+       ordered_set= 1;
+ 
+     switch (tab->type) {

Deleted: trunk/debian/patches/51_mysqlcheck-result.dpatch
===================================================================
--- trunk/debian/patches/51_mysqlcheck-result.dpatch	2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/patches/51_mysqlcheck-result.dpatch	2008-02-20 15:18:20 UTC (rev 1154)
@@ -1,20 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 51_mysqlcheck-result.dpatch by Norbert Tretkowski <nobse at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
- at DPATCH@
-diff -Nrup a/mysql-test/r/mysqlcheck.result b/mysql-test/r/mysqlcheck.result
---- a/mysql-test/r/mysqlcheck.result	2007-04-17 00:00:13 +05:00
-+++ b/mysql-test/r/mysqlcheck.result	2007-11-22 14:10:16 +04:00
-@@ -49,7 +49,8 @@ insert into t_bug25347 values (1),(2),(3
- flush tables;
- removing and creating
- d_bug25347.t_bug25347
--error    : Incorrect file format 't_bug25347'
-+Error    : Incorrect file format 't_bug25347'
-+error    : Corrupt
- insert into t_bug25347 values (4),(5),(6);
- ERROR HY000: Incorrect file format 't_bug25347'
- d_bug25347.t_bug25347

Modified: trunk/debian/patches/52_ndb-gcc-4.2.dpatch
===================================================================
--- trunk/debian/patches/52_ndb-gcc-4.2.dpatch	2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/patches/52_ndb-gcc-4.2.dpatch	2008-02-20 15:18:20 UTC (rev 1154)
@@ -2,7 +2,7 @@
 ## 52_ndb-gcc-4.2.dpatch by Norbert Tretkowski <nobse at debian.org>
 ##
 ## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
+## DP: http://bugs.mysql.com/bug.php?id=31761
 
 @DPATCH@
 --- 1.8/ndb/include/kernel/AttributeHeader.hpp	2007-10-23 16:46:03 +02:00

Modified: trunk/debian/patches/53_integer-gcc-4.2.dpatch
===================================================================
--- trunk/debian/patches/53_integer-gcc-4.2.dpatch	2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/patches/53_integer-gcc-4.2.dpatch	2008-02-20 15:18:20 UTC (rev 1154)
@@ -2,7 +2,7 @@
 ## 53_integer-gcc-4.2.dpatch by Norbert Tretkowski <nobse at debian.org>
 ##
 ## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
+## DP: http://bugs.mysql.com/bug.php?id=31799
 
 @DPATCH@
 --- 1.9/strings/int2str.c	2007-10-24 09:26:32 +02:00

Modified: trunk/debian/patches/54_ssl-client-support.dpatch
===================================================================
--- trunk/debian/patches/54_ssl-client-support.dpatch	2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/patches/54_ssl-client-support.dpatch	2008-02-20 15:18:20 UTC (rev 1154)
@@ -5,16 +5,76 @@
 ## DP: http://bugs.mysql.com/bug.php?id=33292
 
 @DPATCH@
-diff -ru mysql-5.0.51.org/vio/viossl.c mysql-5.0.51/vio/viossl.c
---- mysql-5.0.51.org/vio/viossl.c	2007-11-15 15:07:13.000000000 +0100
-+++ mysql-5.0.51/vio/viossl.c	2007-12-19 15:21:53.211570804 +0100
-@@ -199,6 +199,9 @@
+
+diff -Nrup a/vio/viossl.c b/vio/viossl.c
+--- a/vio/viossl.c	2007-08-28 11:34:42 +02:00
++++ b/vio/viossl.c	2008-02-07 08:48:27 +01:00
+@@ -172,20 +172,15 @@ void vio_ssl_delete(Vio *vio)
+   vio_delete(vio);
+ }
+ 
+-int sslaccept(struct st_VioSSLFd *ptr, Vio *vio, long timeout)
+-{
+-  DBUG_ENTER("sslaccept");
+-  DBUG_RETURN(sslconnect(ptr, vio, timeout));
+-}
+-
+ 
+-int sslconnect(struct st_VioSSLFd *ptr, Vio *vio, long timeout)
++static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout,
++                  int (*connect_accept_func)(SSL*))
+ {
+   SSL *ssl;
+   my_bool unused;
+   my_bool was_blocking;
+ 
+-  DBUG_ENTER("sslconnect");
++  DBUG_ENTER("ssl_do");
+   DBUG_PRINT("enter", ("ptr: 0x%lx, sd: %d  ctx: 0x%lx",
+                        (long) ptr, vio->sd, (long) ptr->ssl_context));
+ 
+@@ -204,13 +199,9 @@ int sslconnect(struct st_VioSSLFd *ptr, 
+   SSL_SESSION_set_timeout(SSL_get_session(ssl), timeout);
+   SSL_set_fd(ssl, vio->sd);
+ 
+-  /*
+-    SSL_do_handshake will select between SSL_connect
+-    or SSL_accept depending on server or client side
+-  */
+-  if (SSL_do_handshake(ssl) < 1)
++  if (connect_accept_func(ssl) < 1)
+   {
+-    DBUG_PRINT("error", ("SSL_do_handshake failure"));
++    DBUG_PRINT("error", ("SSL_connect/accept failure"));
+     report_errors(ssl);
+     SSL_free(ssl);
      vio_blocking(vio, was_blocking, &unused);
-     DBUG_RETURN(1);
-   }
+@@ -259,6 +250,20 @@ int sslconnect(struct st_VioSSLFd *ptr, 
+ }
+ 
+ 
++int sslaccept(struct st_VioSSLFd *ptr, Vio *vio, long timeout)
++{
++  DBUG_ENTER("sslaccept");
++  DBUG_RETURN(ssl_do(ptr, vio, timeout, SSL_accept));
++}
 +
-+  SSL_set_connect_state(ssl);
 +
-   DBUG_PRINT("info", ("ssl: 0x%lx timeout: %ld", (long) ssl, timeout));
-   SSL_clear(ssl);
-   SSL_SESSION_set_timeout(SSL_get_session(ssl), timeout);
++int sslconnect(struct st_VioSSLFd *ptr, Vio *vio, long timeout)
++{
++  DBUG_ENTER("sslconnect");
++  DBUG_RETURN(ssl_do(ptr, vio, timeout, SSL_connect));
++}
++
++
+ int vio_ssl_blocking(Vio *vio __attribute__((unused)),
+ 		     my_bool set_blocking_mode,
+ 		     my_bool *old_mode)
+@@ -268,5 +273,7 @@ int vio_ssl_blocking(Vio *vio __attribut
+   /* Return error if we try to change to non_blocking mode */
+   return (set_blocking_mode ? 0 : 1);
+ }
++
++
+ 
+ #endif /* HAVE_OPENSSL */

Added: trunk/debian/patches/60_raise-max-keylength.dpatch
===================================================================
--- trunk/debian/patches/60_raise-max-keylength.dpatch	                        (rev 0)
+++ trunk/debian/patches/60_raise-max-keylength.dpatch	2008-02-20 15:18:20 UTC (rev 1154)
@@ -0,0 +1,495 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 60_raise-max-keylength.dpatch by Norbert Tretkowski <nobse at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Raises the maximum key length to 4005 bytes or 1335 UTF-8 characters,
+## DP: which is the maximum raise possible without changing other parameters.
+
+ at DPATCH@
+diff -Nrup a/include/myisam.h b/include/myisam.h
+--- a/include/myisam.h	2006-12-23 20:04:05 +01:00
++++ b/include/myisam.h	2008-01-30 18:26:56 +01:00
+@@ -48,15 +48,27 @@ extern "C" {
+ #define MI_MAX_KEY                  MAX_INDEXES         /* Max allowed keys */
+ #endif
+ 
+-#define MI_MAX_POSSIBLE_KEY_BUFF    (1024+6+6)      /* For myisam_chk */
+ /*
+   The following defines can be increased if necessary.
+   But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and MI_MAX_KEY_LENGTH.
+ */
+-#define MI_MAX_KEY_LENGTH           1000            /* Max length in bytes */
+ #define MI_MAX_KEY_SEG              16              /* Max segments for key */
++  /*
++    Max key length computes from max key block. At least 4 keys should
++    go into a key block. Each key has a length (1 or 3 bytes), a data
++    file pointer (max 8 bytes), optionally a key file pointer (max 8
++    bytes), optional length per key segment (max 3 bytes), and an
++    optional null byte per key segment. The key_length computation in
++    mi_create() adds another data pointer per key (max 8 bytes). A block
++    has a 2 byte length and optionally a key file pointer. See
++    myisamdef.h:MI_BLOCK_SIZE() and mi_create(). With
++    MI_MAX_KEY_BLOCK_LENGTH = 16384 and MI_MAX_KEY_SEG = 16 we have
++    (16384-2-8)/4-8-8-(8+(3+1)*16) = 4005 bytes.
++  */
++#define MI_MAX_KEY_LENGTH 4005          /* Max key length in bytes */
+ 
+ #define MI_MAX_KEY_BUFF  (MI_MAX_KEY_LENGTH+MI_MAX_KEY_SEG*6+8+8)
++#define MI_MAX_POSSIBLE_KEY_BUFF (MI_MAX_KEY_LENGTH+24+6+6) /* For myisam_chk */
+ #define MI_MAX_MSG_BUF      1024 /* used in CHECK TABLE, REPAIR TABLE */
+ #define MI_NAME_IEXT	".MYI"
+ #define MI_NAME_DEXT	".MYD"
+diff -Nrup a/mysql-test/r/ctype_utf8.result b/mysql-test/r/ctype_utf8.result
+--- a/mysql-test/r/ctype_utf8.result	2007-10-30 09:20:28 +01:00
++++ b/mysql-test/r/ctype_utf8.result	2008-01-30 18:26:56 +01:00
+@@ -240,8 +240,10 @@ select hex(s1) from t1;
+ hex(s1)
+ 41
+ drop table t1;
+-create table t1 (a text character set utf8, primary key(a(360)));
+-ERROR 42000: Specified key was too long; max key length is 1000 bytes
++create table t1 (a text character set utf8, primary key(a(1336)));
++ERROR 42000: Specified key was too long; max key length is 4005 bytes
++create table t1 (a text character set utf8, primary key(a(1335)));
++drop table t1;
+ CREATE TABLE t1 ( a varchar(10) ) CHARACTER SET utf8;
+ INSERT INTO t1 VALUES ( 'test' );
+ SELECT a.a, b.a FROM t1 a, t1 b WHERE a.a = b.a;
+diff -Nrup a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result
+--- a/mysql-test/r/innodb.result	2007-12-13 11:49:11 +01:00
++++ b/mysql-test/r/innodb.result	2008-01-30 18:26:56 +01:00
+@@ -2773,7 +2773,7 @@ c varchar(255) character set utf8,
+ d varchar(255) character set utf8,
+ e varchar(255) character set utf8,
+ key (a,b,c,d,e)) engine=innodb;
+-ERROR 42000: Specified key was too long; max key length is 3072 bytes
++ERROR 42000: Specified key was too long; max key length is 3500 bytes
+ create table t1 (s1 varbinary(2),primary key (s1)) engine=innodb;
+ create table t2 (s1 binary(2),primary key (s1)) engine=innodb;
+ create table t3 (s1 varchar(2) binary,primary key (s1)) engine=innodb;
+diff -Nrup a/mysql-test/r/myisam.result b/mysql-test/r/myisam.result
+--- a/mysql-test/r/myisam.result	2008-01-16 12:15:56 +01:00
++++ b/mysql-test/r/myisam.result	2008-01-30 18:26:56 +01:00
+@@ -322,11 +322,34 @@ CHECK TABLE t1;
+ Table	Op	Msg_type	Msg_text
+ test.t1	check	status	OK
+ drop table t1;
+-CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255), KEY t1 (a, b, c, d, e));
+-ERROR 42000: Specified key was too long; max key length is 1000 bytes
+-CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255));
+-ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e);
+-ERROR 42000: Specified key was too long; max key length is 1000 bytes
++CREATE TABLE t1 (
++a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++m varchar(255), n varchar(255), o varchar(255), p varchar(181),
++KEY t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p));
++ERROR 42000: Specified key was too long; max key length is 4005 bytes
++CREATE TABLE t1 (
++a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++m varchar(255), n varchar(255), o varchar(255), p varchar(181));
++ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p);
++ERROR 42000: Specified key was too long; max key length is 4005 bytes
++DROP TABLE t1;
++CREATE TABLE t1 (
++a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++m varchar(255), n varchar(255), o varchar(255), p varchar(180),
++KEY t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p));
++DROP TABLE t1;
++CREATE TABLE t1 (
++a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++m varchar(255), n varchar(255), o varchar(255), p varchar(180));
++ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p);
+ DROP TABLE t1;
+ CREATE TABLE t1 (a int not null, b int, c int, key(b), key(c), key(a,b), key(c,a));
+ INSERT into t1 values (0, null, 0), (0, null, 1), (0, null, 2), (0, null,3), (1,1,4);
+@@ -1093,6 +1116,186 @@ length(c1)	c1
+ 2		A
+ 2	 B
+ DROP TABLE t1;
++CREATE TABLE t1 (
++c1 VARCHAR(255) NOT NULL,
++c2 VARCHAR(255) NOT NULL,
++c3 VARCHAR(255) NOT NULL,
++c4 VARCHAR(255) NOT NULL,
++c5 VARCHAR(255) NOT NULL,
++c6 VARCHAR(61),
++KEY i1 (c1, c2, c3, c4, c5, c6)) DEFAULT CHARSET=UTF8;
++ERROR 42000: Specified key was too long; max key length is 4005 bytes
++CREATE TABLE t1 (
++c1 VARCHAR(255) NOT NULL,
++c2 VARCHAR(255) NOT NULL,
++c3 VARCHAR(255) NOT NULL,
++c4 VARCHAR(255) NOT NULL,
++c5 VARCHAR(255) NOT NULL,
++c6 VARCHAR(60),
++KEY i1 (c1, c2, c3, c4, c5, c6)) DEFAULT CHARSET=UTF8;
++INSERT INTO t1 VALUES
++(REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '1')),
++(REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '7')),
++(REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '5')),
++(REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '8')),
++(REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '6')),
++(REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '5'));
++CHECK TABLE t1 EXTENDED;
++Table	Op	Msg_type	Msg_text
++test.t1	check	status	OK
++OPTIMIZE TABLE t1;
++Table	test.t1
++Op	optimize
++Msg_type	status
++Msg_text	OK
++SHOW CREATE TABLE t1;
++Table	t1
++Create Table	CREATE TABLE `t1` (
++  `c1` varchar(255) NOT NULL,
++  `c2` varchar(255) NOT NULL,
++  `c3` varchar(255) NOT NULL,
++  `c4` varchar(255) NOT NULL,
++  `c5` varchar(255) NOT NULL,
++  `c6` varchar(60) default NULL,
++  KEY `i1` (`c1`,`c2`,`c3`,`c4`,`c5`,`c6`)
++) ENGINE=MyISAM DEFAULT CHARSET=utf8
++SHOW TABLE STATUS LIKE 't1';
++Name	t1
++Engine	MyISAM
++Version	10
++Row_format	Dynamic
++Rows	6
++Avg_row_length	#
++Data_length	#
++Max_data_length	#
++Index_length	#
++Data_free	0
++Auto_increment	NULL
++Create_time	#
++Update_time	#
++Check_time	#
++Collation	utf8_general_ci
++Checksum	NULL
++Create_options	
++Comment	
++SHOW INDEX FROM t1;
++Table	t1
++Non_unique	1
++Key_name	i1
++Seq_in_index	1
++Column_name	c1
++Collation	A
++Cardinality	1
++Sub_part	NULL
++Packed	NULL
++Null	
++Index_type	BTREE
++Comment	
++Table	t1
++Non_unique	1
++Key_name	i1
++Seq_in_index	2
++Column_name	c2
++Collation	A
++Cardinality	1
++Sub_part	NULL
++Packed	NULL
++Null	
++Index_type	BTREE
++Comment	
++Table	t1
++Non_unique	1
++Key_name	i1
++Seq_in_index	3
++Column_name	c3
++Collation	A
++Cardinality	1
++Sub_part	NULL
++Packed	NULL
++Null	
++Index_type	BTREE
++Comment	
++Table	t1
++Non_unique	1
++Key_name	i1
++Seq_in_index	4
++Column_name	c4
++Collation	A
++Cardinality	1
++Sub_part	NULL
++Packed	NULL
++Null	
++Index_type	BTREE
++Comment	
++Table	t1
++Non_unique	1
++Key_name	i1
++Seq_in_index	5
++Column_name	c5
++Collation	A
++Cardinality	1
++Sub_part	NULL
++Packed	NULL
++Null	
++Index_type	BTREE
++Comment	
++Table	t1
++Non_unique	1
++Key_name	i1
++Seq_in_index	6
++Column_name	c6
++Collation	A
++Cardinality	6
++Sub_part	NULL
++Packed	NULL
++Null	YES
++Index_type	BTREE
++Comment	
++EXPLAIN SELECT SUBSTR(c6, 50) FROM t1
++ORDER BY c1, c2, c3, c4, c5, c6;
++id	1
++select_type	SIMPLE
++table	t1
++type	index
++possible_keys	NULL
++key	i1
++key_len	4018
++ref	NULL
++rows	6
++Extra	Using index
++SELECT SUBSTR(c6, 50) FROM t1 ORDER BY c1, c2, c3, c4, c5, c6;
++SUBSTR(c6, 50)
++MMMMMMMMMM1
++MMMMMMMMMM5
++MMMMMMMMMM5
++MMMMMMMMMM6
++MMMMMMMMMM7
++MMMMMMMMMM8
++DELETE FROM t1 WHERE c6 LIKE '%5' LIMIT 1;
++UPDATE t1 SET c6 = CONCAT(REPEAT('M', 59), '9') WHERE c6 LIKE '%1';
++SELECT SUBSTR(c6, 50) FROM t1 ORDER BY c1, c2, c3, c4, c5, c6;
++SUBSTR(c6, 50)
++MMMMMMMMMM5
++MMMMMMMMMM6
++MMMMMMMMMM7
++MMMMMMMMMM8
++MMMMMMMMMM9
++CHECK TABLE t1 EXTENDED;
++Table	Op	Msg_type	Msg_text
++test.t1	check	status	OK
++REPAIR TABLE t1 EXTENDED;
++Table	Op	Msg_type	Msg_text
++test.t1	repair	status	OK
++CHECK TABLE t1 EXTENDED;
++Table	Op	Msg_type	Msg_text
++test.t1	check	status	OK
++DROP TABLE t1;
+ End of 4.1 tests
+ set storage_engine=MyISAM;
+ drop table if exists t1,t2,t3;
+@@ -1668,7 +1871,7 @@ a	b
+ drop table t1;
+ create table t1 (v varchar(65530), key(v));
+ Warnings:
+-Warning	1071	Specified key was too long; max key length is 1000 bytes
++Warning	1071	Specified key was too long; max key length is 4005 bytes
+ drop table if exists t1;
+ create table t1 (v varchar(65536));
+ Warnings:
+diff -Nrup a/mysql-test/r/type_blob.result b/mysql-test/r/type_blob.result
+--- a/mysql-test/r/type_blob.result	2007-11-19 18:34:12 +01:00
++++ b/mysql-test/r/type_blob.result	2008-01-30 18:26:56 +01:00
+@@ -356,16 +356,24 @@ HELLO MY	1
+ a	1
+ hello	1
+ drop table t1;
+-create table t1 (a text, unique (a(2100)));
+-ERROR 42000: Specified key was too long; max key length is 1000 bytes
+-create table t1 (a text, key (a(2100)));
++create table t1 (a text, unique (a(4006)));
++ERROR 42000: Specified key was too long; max key length is 4005 bytes
++create table t1 (a text, unique (a(4005)));
++show create table t1;
++Table	Create Table
++t1	CREATE TABLE `t1` (
++  `a` text,
++  UNIQUE KEY `a` (`a`(4005))
++) ENGINE=MyISAM DEFAULT CHARSET=latin1
++drop table t1;
++create table t1 (a text, key (a(4006)));
+ Warnings:
+-Warning	1071	Specified key was too long; max key length is 1000 bytes
++Warning	1071	Specified key was too long; max key length is 4005 bytes
+ show create table t1;
+ Table	Create Table
+ t1	CREATE TABLE `t1` (
+   `a` text,
+-  KEY `a` (`a`(1000))
++  KEY `a` (`a`(4005))
+ ) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ drop table t1;
+ CREATE TABLE t1 (
+diff -Nrup a/mysql-test/t/ctype_utf8.test b/mysql-test/t/ctype_utf8.test
+--- a/mysql-test/t/ctype_utf8.test	2007-10-30 09:20:28 +01:00
++++ b/mysql-test/t/ctype_utf8.test	2008-01-30 18:26:56 +01:00
+@@ -162,9 +162,12 @@ drop table t1;
+ #
+ # Bug 2699
+ # UTF8 breaks primary keys for cols > 333 characters
++# Limit raised to 1335 UTF-8 chars by fix for Bug#4541. See myisam.test.
+ #
+ --error 1071
+-create table t1 (a text character set utf8, primary key(a(360)));
++create table t1 (a text character set utf8, primary key(a(1336)));
++create table t1 (a text character set utf8, primary key(a(1335)));
++drop table t1;
+ 
+ 
+ #
+diff -Nrup a/mysql-test/t/myisam.test b/mysql-test/t/myisam.test
+--- a/mysql-test/t/myisam.test	2008-01-16 12:15:56 +01:00
++++ b/mysql-test/t/myisam.test	2008-01-30 18:26:56 +01:00
+@@ -334,13 +334,36 @@ drop table t1;
+ 
+ #
+ # Test of creating table with too long key
++# Limit raised to 4005 bytes by fix for Bug#4541. See myisam.test.
+ #
+-
+ --error 1071
+-CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255), KEY t1 (a, b, c, d, e));
+-CREATE TABLE t1 (a varchar(255), b varchar(255), c varchar(255), d varchar(255), e varchar(255));
++CREATE TABLE t1 (
++  a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++  e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++  i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++  m varchar(255), n varchar(255), o varchar(255), p varchar(181),
++  KEY t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p));
++CREATE TABLE t1 (
++  a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++  e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++  i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++  m varchar(255), n varchar(255), o varchar(255), p varchar(181));
+ --error 1071
+-ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e);
++ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p);
++DROP TABLE t1;
++CREATE TABLE t1 (
++  a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++  e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++  i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++  m varchar(255), n varchar(255), o varchar(255), p varchar(180),
++  KEY t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p));
++DROP TABLE t1;
++CREATE TABLE t1 (
++  a varchar(255), b varchar(255), c varchar(255), d varchar(255),
++  e varchar(255), f varchar(255), g varchar(255), h varchar(255),
++  i varchar(255), j varchar(255), k varchar(255), l varchar(255),
++  m varchar(255), n varchar(255), o varchar(255), p varchar(180));
++ALTER TABLE t1 ADD INDEX t1 (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p);
+ DROP TABLE t1;
+ 
+ #
+@@ -1016,6 +1039,59 @@ SELECT DISTINCT length(c1), c1 FROM t1 W
+ SELECT DISTINCT COUNT(*) FROM t1 IGNORE INDEX (c1) WHERE c1 = '';
+ SELECT DISTINCT length(c1), c1 FROM t1 IGNORE INDEX (c1) WHERE c1 = '';
+ SELECT DISTINCT length(c1), c1 FROM t1 ORDER BY c1;
++DROP TABLE t1;
++
++#
++# Bug#4541 - "Specified key was too long; max key length is 1000 bytes"
++#            with utf8
++# Raised limit for max key length from 1000 to 4005 bytes.
++# This is maximum without changing other limits (e.g. MI_MAX_KEY_BLOCK_LENGTH)
++#
++--error 1071
++CREATE TABLE t1 (
++  c1 VARCHAR(255) NOT NULL,
++  c2 VARCHAR(255) NOT NULL,
++  c3 VARCHAR(255) NOT NULL,
++  c4 VARCHAR(255) NOT NULL,
++  c5 VARCHAR(255) NOT NULL,
++  c6 VARCHAR(61),
++  KEY i1 (c1, c2, c3, c4, c5, c6)) DEFAULT CHARSET=UTF8;
++CREATE TABLE t1 (
++  c1 VARCHAR(255) NOT NULL,
++  c2 VARCHAR(255) NOT NULL,
++  c3 VARCHAR(255) NOT NULL,
++  c4 VARCHAR(255) NOT NULL,
++  c5 VARCHAR(255) NOT NULL,
++  c6 VARCHAR(60),
++  KEY i1 (c1, c2, c3, c4, c5, c6)) DEFAULT CHARSET=UTF8;
++INSERT INTO t1 VALUES
++  (REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++   REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '1')),
++  (REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++   REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '7')),
++  (REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++   REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '5')),
++  (REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++   REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '8')),
++  (REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++   REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '6')),
++  (REPEAT('0', 255), REPEAT('0', 255), REPEAT('0', 255),
++   REPEAT('0', 255), REPEAT('0', 255), CONCAT(REPEAT('M', 59), '5'));
++CHECK TABLE t1 EXTENDED;
++query_vertical OPTIMIZE TABLE t1;
++query_vertical SHOW CREATE TABLE t1;
++--replace_column 6 # 7 # 8 # 9 # 12 # 13 # 14 #
++query_vertical SHOW TABLE STATUS LIKE 't1';
++query_vertical SHOW INDEX FROM t1;
++query_vertical EXPLAIN SELECT SUBSTR(c6, 50) FROM t1
++                         ORDER BY c1, c2, c3, c4, c5, c6;
++SELECT SUBSTR(c6, 50) FROM t1 ORDER BY c1, c2, c3, c4, c5, c6;
++DELETE FROM t1 WHERE c6 LIKE '%5' LIMIT 1;
++UPDATE t1 SET c6 = CONCAT(REPEAT('M', 59), '9') WHERE c6 LIKE '%1';
++SELECT SUBSTR(c6, 50) FROM t1 ORDER BY c1, c2, c3, c4, c5, c6;
++CHECK TABLE t1 EXTENDED;
++REPAIR TABLE t1 EXTENDED;
++CHECK TABLE t1 EXTENDED;
+ DROP TABLE t1;
+ 
+ --echo End of 4.1 tests
+diff -Nrup a/mysql-test/t/type_blob.test b/mysql-test/t/type_blob.test
+--- a/mysql-test/t/type_blob.test	2007-11-19 18:34:12 +01:00
++++ b/mysql-test/t/type_blob.test	2008-01-30 18:26:56 +01:00
+@@ -131,9 +131,15 @@ select c,count(*) from t1 group by c;
+ select d,count(*) from t1 group by d;
+ drop table t1;
+ 
++#
++# Limit raised to 4005 bytes by fix for Bug#4541. See myisam.test.
++#
+ -- error 1071
+-create table t1 (a text, unique (a(2100))); # should give an error
+-create table t1 (a text, key (a(2100)));    # key is auto-truncated
++create table t1 (a text, unique (a(4006))); # should give an error
++create table t1 (a text, unique (a(4005))); # should give an error
++show create table t1;
++drop table t1;
++create table t1 (a text, key (a(4006)));    # key is auto-truncated
+ show create table t1;
+ drop table t1;
+ 
+diff -Nrup a/sql/unireg.h b/sql/unireg.h
+--- a/sql/unireg.h	2007-08-02 22:57:41 +02:00
++++ b/sql/unireg.h	2008-01-30 18:26:56 +01:00
+@@ -49,7 +49,7 @@
+ #define MAX_SYS_VAR_LENGTH 32
+ #define MAX_KEY MAX_INDEXES                     /* Max used keys */
+ #define MAX_REF_PARTS 16			/* Max parts used as ref */
+-#define MAX_KEY_LENGTH 3072			/* max possible key */
++#define MAX_KEY_LENGTH 4005 /* myisamdef.h */   /* max possible key */
+ #if SIZEOF_OFF_T > 4
+ #define MAX_REFLENGTH 8				/* Max length for record ref */
+ #else

Deleted: trunk/debian/patches/92_SECURITY_CVE-2007-6303.dpatch
===================================================================
--- trunk/debian/patches/92_SECURITY_CVE-2007-6303.dpatch	2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/patches/92_SECURITY_CVE-2007-6303.dpatch	2008-02-20 15:18:20 UTC (rev 1154)
@@ -1,168 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 92_SECURITY_CVE-2007-6303.dpatch by Norbert Tretkowski <nobse at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix for CVE-2007-6303: ALTER VIEW retained the original DEFINER value,
-## DP: even when altered by another user, which could allow that user to gain
-## DP: the access rights of the view. Now ALTER VIEW is allowed only to the
-## DP: original definer or users with the SUPER privilege. (closes: #455737)
-
- at DPATCH@
-diff -Nrup a/mysql-test/r/view_grant.result b/mysql-test/r/view_grant.result
---- a/mysql-test/r/view_grant.result	2007-11-15 15:28:37.000000000 +0100
-+++ b/mysql-test/r/view_grant.result	2007-09-29 03:06:40.000000000 +0200
-@@ -776,15 +776,60 @@ GRANT CREATE VIEW ON db26813.v2 TO u2681
- GRANT DROP, CREATE VIEW ON db26813.v3 TO u26813 at localhost;
- GRANT SELECT ON db26813.t1 TO u26813 at localhost;
- ALTER VIEW v1 AS SELECT f2 FROM t1;
--ERROR 42000: CREATE VIEW command denied to user 'u26813'@'localhost' for table 'v1'
-+ERROR 42000: Access denied; you need the SUPER privilege for this operation
- ALTER VIEW v2 AS SELECT f2 FROM t1;
--ERROR 42000: DROP command denied to user 'u26813'@'localhost' for table 'v2'
-+ERROR 42000: Access denied; you need the SUPER privilege for this operation
- ALTER VIEW v3 AS SELECT f2 FROM t1;
-+ERROR 42000: Access denied; you need the SUPER privilege for this operation
- SHOW CREATE VIEW v3;
- View	Create View
--v3	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`f2` AS `f2` from `t1`
-+v3	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`f1` AS `f1` from `t1`
- DROP USER u26813 at localhost;
- DROP DATABASE db26813;
-+#
-+# Bug#29908: A user can gain additional access through the ALTER VIEW.
-+#
-+CREATE DATABASE mysqltest_29908;
-+USE mysqltest_29908;
-+CREATE TABLE t1(f1 INT, f2 INT);
-+CREATE USER u29908_1 at localhost;
-+CREATE DEFINER = u29908_1 at localhost VIEW v1 AS SELECT f1 FROM t1;
-+CREATE DEFINER = u29908_1 at localhost SQL SECURITY INVOKER VIEW v2 AS
-+SELECT f1 FROM t1;
-+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v1 TO u29908_1 at localhost;
-+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_1 at localhost;
-+GRANT SELECT ON mysqltest_29908.t1 TO u29908_1 at localhost;
-+CREATE USER u29908_2 at localhost;
-+GRANT DROP, CREATE VIEW ON mysqltest_29908.v1 TO u29908_2 at localhost;
-+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_2 at localhost;
-+GRANT SELECT ON mysqltest_29908.t1 TO u29908_2 at localhost;
-+ALTER VIEW v1 AS SELECT f2 FROM t1;
-+ERROR 42000: Access denied; you need the SUPER privilege for this operation
-+ALTER VIEW v2 AS SELECT f2 FROM t1;
-+ERROR 42000: Access denied; you need the SUPER privilege for this operation
-+SHOW CREATE VIEW v2;
-+View	Create View
-+v2	CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f1` AS `f1` from `t1`
-+ALTER VIEW v1 AS SELECT f2 FROM t1;
-+SHOW CREATE VIEW v1;
-+View	Create View
-+v1	CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f2` AS `f2` from `t1`
-+ALTER VIEW v2 AS SELECT f2 FROM t1;
-+SHOW CREATE VIEW v2;
-+View	Create View
-+v2	CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f2` AS `f2` from `t1`
-+ALTER VIEW v1 AS SELECT f1 FROM t1;
-+SHOW CREATE VIEW v1;
-+View	Create View
-+v1	CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1`
-+ALTER VIEW v2 AS SELECT f1 FROM t1;
-+SHOW CREATE VIEW v2;
-+View	Create View
-+v2	CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f1` AS `f1` from `t1`
-+DROP USER u29908_1 at localhost;
-+DROP USER u29908_2 at localhost;
-+DROP DATABASE mysqltest_29908;
-+#######################################################################
- DROP DATABASE IF EXISTS mysqltest1;
- DROP DATABASE IF EXISTS mysqltest2;
- CREATE DATABASE mysqltest1;
-diff -Nrup a/mysql-test/t/view_grant.test b/mysql-test/t/view_grant.test
---- a/mysql-test/t/view_grant.test	2007-11-15 15:28:37.000000000 +0100
-+++ b/mysql-test/t/view_grant.test	2007-09-29 03:06:22.000000000 +0200
-@@ -1034,10 +1034,11 @@ GRANT SELECT ON db26813.t1 TO u26813 at loc
- 
- connect (u1,localhost,u26813,,db26813);
- connection u1;
----error 1142
-+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
- ALTER VIEW v1 AS SELECT f2 FROM t1;
----error 1142
-+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
- ALTER VIEW v2 AS SELECT f2 FROM t1;
-+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
- ALTER VIEW v3 AS SELECT f2 FROM t1;
- 
- connection root;
-@@ -1047,6 +1048,51 @@ DROP USER u26813 at localhost;
- DROP DATABASE db26813;
- disconnect u1;
- 
-+--echo #
-+--echo # Bug#29908: A user can gain additional access through the ALTER VIEW.
-+--echo #
-+connection root;
-+CREATE DATABASE mysqltest_29908;
-+USE mysqltest_29908;
-+CREATE TABLE t1(f1 INT, f2 INT);
-+CREATE USER u29908_1 at localhost;
-+CREATE DEFINER = u29908_1 at localhost VIEW v1 AS SELECT f1 FROM t1;
-+CREATE DEFINER = u29908_1 at localhost SQL SECURITY INVOKER VIEW v2 AS
-+  SELECT f1 FROM t1;
-+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v1 TO u29908_1 at localhost;
-+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_1 at localhost;
-+GRANT SELECT ON mysqltest_29908.t1 TO u29908_1 at localhost;
-+CREATE USER u29908_2 at localhost;
-+GRANT DROP, CREATE VIEW ON mysqltest_29908.v1 TO u29908_2 at localhost;
-+GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_2 at localhost;
-+GRANT SELECT ON mysqltest_29908.t1 TO u29908_2 at localhost;
-+
-+connect (u2,localhost,u29908_2,,mysqltest_29908);
-+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
-+ALTER VIEW v1 AS SELECT f2 FROM t1;
-+--error ER_SPECIFIC_ACCESS_DENIED_ERROR
-+ALTER VIEW v2 AS SELECT f2 FROM t1;
-+SHOW CREATE VIEW v2;
-+
-+connect (u1,localhost,u29908_1,,mysqltest_29908);
-+ALTER VIEW v1 AS SELECT f2 FROM t1;
-+SHOW CREATE VIEW v1;
-+ALTER VIEW v2 AS SELECT f2 FROM t1;
-+SHOW CREATE VIEW v2;
-+
-+connection root;
-+ALTER VIEW v1 AS SELECT f1 FROM t1;
-+SHOW CREATE VIEW v1;
-+ALTER VIEW v2 AS SELECT f1 FROM t1;
-+SHOW CREATE VIEW v2;
-+
-+DROP USER u29908_1 at localhost;
-+DROP USER u29908_2 at localhost;
-+DROP DATABASE mysqltest_29908;
-+disconnect u1;
-+disconnect u2;
-+--echo #######################################################################
-+
- #
- # BUG#24040: Create View don't succed with "all privileges" on a database.
- #
-diff -Nrup a/sql/sql_view.cc b/sql/sql_view.cc
---- a/sql/sql_view.cc	2007-09-03 11:22:54 +04:00
-+++ b/sql/sql_view.cc	2007-09-20 18:03:16 +04:00
-@@ -223,9 +223,6 @@ bool mysql_create_view(THD *thd, TABLE_L
- {
-   LEX *lex= thd->lex;
-   bool link_to_local;
--#ifndef NO_EMBEDDED_ACCESS_CHECKS
--  bool definer_check_is_needed= mode != VIEW_ALTER || lex->definer;
--#endif
-   /* first table in list is target VIEW name => cut off it */
-   TABLE_LIST *view= lex->unlink_first_table(&link_to_local);
-   TABLE_LIST *tables= lex->query_tables;
-@@ -280,7 +277,7 @@ bool mysql_create_view(THD *thd, TABLE_L
-       - same as current user
-       - current user has SUPER_ACL
-   */
--  if (definer_check_is_needed &&
-+  if (lex->definer &&
-       (strcmp(lex->definer->user.str, thd->security_ctx->priv_user) != 0 ||
-        my_strcasecmp(system_charset_info,
-                      lex->definer->host.str,

Deleted: trunk/debian/patches/93_SECURITY_CVE-2007-6304.dpatch
===================================================================
--- trunk/debian/patches/93_SECURITY_CVE-2007-6304.dpatch	2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/patches/93_SECURITY_CVE-2007-6304.dpatch	2008-02-20 15:18:20 UTC (rev 1154)
@@ -1,26 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 93_SECURITY_CVE-2007-6304.dpatch by Norbert Tretkowski <nobse at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix for CVE-2007-6304: When using a FEDERATED table, the local server can
-## DP: be forced to crash if the remote server returns a result with fewer columns
-## DP: than expected. (closes: #455737)
-
- at DPATCH@
-diff -Nrup a/sql/ha_federated.cc b/sql/ha_federated.cc
---- a/sql/ha_federated.cc	2007-07-26 05:22:50 +05:00
-+++ b/sql/ha_federated.cc	2007-10-15 10:11:50 +05:00
-@@ -2528,7 +2528,12 @@ int ha_federated::info(uint flag)
-     status_query_string.length(0);
- 
-     result= mysql_store_result(mysql);
--    if (!result)
-+
-+    /*
-+      We're going to use fields num. 4, 12 and 13 of the resultset,
-+      so make sure we have these fields.
-+    */
-+    if (!result || (mysql_num_fields(result) < 14))
-       goto error;
- 
-     if (!mysql_num_rows(result))

Modified: trunk/debian/po/ja.po
===================================================================
--- trunk/debian/po/ja.po	2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/po/ja.po	2008-02-20 15:18:20 UTC (rev 1154)
@@ -1,365 +1,203 @@
-#
-#    Translators, if you are not familiar with the PO format, gettext
-#    documentation is worth reading, especially sections dedicated to
-#    this format, e.g. by running:
-#         info -n '(gettext)PO Files'
-#         info -n '(gettext)Header Entry'
-#
-#    Some information specific to po-debconf are available at
-#            /usr/share/doc/po-debconf/README-trans
-#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
-#
-#    Developers do not need to manually edit POT or PO files.
-#
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: mysql-dfsg-5.0 5.0.32-6\n"
-"Report-Msgid-Bugs-To: pkg-mysql-maint at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2007-05-08 20:33+0200\n"
-"PO-Revision-Date: 2007-02-18 22:25+0900\n"
-"Last-Translator: Hideki Yamane (Debian-JP) <henrich at debian.or.jp>\n"
-"Language-Team: Japanese <debian-japanese at lists.debian.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:2001
-#, fuzzy
-#| msgid "Do you really want to downgrade?"
-msgid "Really proceed with downgrade?"
-msgstr "本当にダウングレードしますか?"
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:2001
-msgid "A file named /var/lib/mysql/debian-*.flag exists on this system."
-msgstr ""
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:2001
-#, fuzzy
-#| msgid ""
-#| "WARNING: The file /var/lib/mysql/debian-*.flag exists. This indicates "
-#| "that a mysql-server package with a higher version has been installed "
-#| "before. It can not be guaranteed that this version can use its data."
-msgid ""
-"Such file is an indication that a mysql-server package with a higher version "
-"has been installed earlier."
-msgstr ""
-"警告: /var/lib/mysql/debian-*.flag ファイルが存在しています。これは、以前によ"
-"り新しいバージョンの mysql-server パッケージがインストールされていたことを示"
-"します。データをこのバージョンで使えるかどうか、保証できません。"
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:2001
-msgid ""
-"There is no guarantee that the version you're currently installing will be "
-"able to use the current databases."
-msgstr ""
-
-#. Type: note
-#. Description
-#: ../mysql-server-5.0.templates:3001
-#, fuzzy
-#| msgid "Important note for NIS/YP users!"
-msgid "Important note for NIS/YP users"
-msgstr "NIS/YP ユーザへ重要な注意!"
-
-#. Type: note
-#. Description
-#: ../mysql-server-5.0.templates:3001
-msgid ""
-"To use MySQL, the following entries for users and groups should be added to "
-"the system:"
-msgstr ""
-
-#. Type: note
-#. Description
-#: ../mysql-server-5.0.templates:3001
-msgid ""
-"You should also check the permissions and the owner of the /var/lib/mysql "
-"directory:"
-msgstr ""
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:4001
-msgid "Remove all MySQL databases?"
-msgstr ""
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:4001
-msgid ""
-"The /var/lib/mysql directory which contains the MySQL databases is about to "
-"be removed."
-msgstr ""
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:4001
-#, fuzzy
-#| msgid ""
-#| "The script is about to remove the data directory /var/lib/mysql. If it is "
-#| "planned to just install a higher MySQL version or if a different mysql-"
-#| "server package is already using it, the data should be kept."
-msgid ""
-"If you're removing the MySQL package in order to later install a more recent "
-"version or if a different mysql-server package is already using it, the data "
-"should be kept."
-msgstr ""
-"このスクリプトはデータのディレクトリ /var/lib/mysql を削除するためのもので"
-"す。単に新しいバージョンの MySQL をインストールしようとしている、あるいは別"
-"の mysql-server パッケージを既に使っている場合、データは保持する必要がありま"
-"す。"
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:5001
-#, fuzzy
-#| msgid "Should MySQL start on boot?"
-msgid "Start the MySQL server on boot?"
-msgstr "MySQL をシステム起動時に開始しますか?"
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:5001
-#, fuzzy
-#| msgid ""
-#| "The MySQL can start automatically on boot time or only if you manually "
-#| "type '/etc/init.d/mysql start'."
-msgid ""
-"The MySQL server can be launched automatically at boot time or manually with "
-"the '/etc/init.d/mysql start' command."
-msgstr ""
-"MySQL の起動方法について、システム起動時に自動的に開始するか、あるいは '/etc/"
-"init.d/mysql start' と手で入力した時のみ起動するかを選べます。"
-
-#. Type: password
-#. Description
-#: ../mysql-server-5.0.templates:6001
-#, fuzzy
-#| msgid "New password for MySQL \"root\" user:"
-msgid "New password for the MySQL \"root\" user:"
-msgstr "MySQL の \"root\" ユーザに対する新しいパスワード:"
-
-#. Type: password
-#. Description
-#: ../mysql-server-5.0.templates:6001
-#, fuzzy
-#| msgid ""
-#| "It is highly recommended that you set a password for the MySQL "
-#| "administrative \"root\" user."
-msgid ""
-"While not mandatory, it is highly recommended that you set a password for "
-"the MySQL administrative \"root\" user."
-msgstr ""
-"MySQL を管理する \"root\" ユーザのパスワードを設定することを強くお勧めしま"
-"す。"
-
-#. Type: password
-#. Description
-#: ../mysql-server-5.0.templates:6001
-msgid "If that field is left blank, the password will not be changed."
-msgstr ""
-
-#. Type: error
-#. Description
-#: ../mysql-server-5.0.templates:7001
-#, fuzzy
-#| msgid "Unable to set password for MySQL \"root\" user"
-msgid "Unable to set password for the MySQL \"root\" user"
-msgstr "MySQL の \"root\" ユーザのパスワードを設定できません"
-
-#. Type: error
-#. Description
-#: ../mysql-server-5.0.templates:7001
-#, fuzzy
-#| msgid ""
-#| "It seems an error occurred while setting the password for the MySQL "
-#| "administrative user.  This may have happened because the user already has "
-#| "a password, or because there was a problem communicating with the MySQL "
-#| "server."
-msgid ""
-"An error occurred while setting the password for the MySQL administrative "
-"user. This may have happened because the account already has a password, or "
-"because of a communication problem with the MySQL server."
-msgstr ""
-"MySQL の管理者ユーザに対してパスワードを設定しようとした際、エラーが発生した"
-"ようです。これは既に管理者ユーザにパスワードが設定されていたか、MySQL サーバ"
-"との接続に問題があったためだと思われます。"
-
-#. Type: error
-#. Description
-#: ../mysql-server-5.0.templates:7001
-msgid "You should check the account's password after the package installation."
-msgstr ""
-
-#. Type: error
-#. Description
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:7001 ../mysql-server-5.0.templates:8001
-#, fuzzy
-#| msgid ""
-#| "See /usr/share/doc/mysql-server-5.0/README.Debian for more information."
-msgid ""
-"Please read the /usr/share/doc/mysql-server-5.0/README.Debian file for more "
-"information."
-msgstr ""
-"詳細は /usr/share/doc/mysql-server-5.0/README.Debian を参照してください。"
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:8001
-msgid "Support MySQL connections from hosts running Debian \"sarge\" or older?"
-msgstr ""
-"Debian \"Sarge\" あるいはそれよりも古いバージョンが稼働しているホストからの "
-"MySQL 接続をサポートしますか?"
-
-#. Type: boolean
-#. Description
-#: ../mysql-server-5.0.templates:8001
-#, fuzzy
-#| msgid ""
-#| "The way passwords were stored was not very secure. This has been improved "
-#| "with the drawback that clients (e.g. PHP) from hosts running Debian 3.1 "
-#| "Sarge will not be able to connect to account which are new or whose "
-#| "password have been changed. See /usr/share/doc/mysql-server-5.0/README."
-#| "Debian."
-msgid ""
-"In old versions of MySQL clients on Debian, passwords were not stored "
-"securely. This has been improved since then, however clients (such as PHP) "
-"from hosts running Debian 3.1 Sarge will not be able to connect to recent "
-"accounts or accounts whose password have been changed."
-msgstr ""
-"パスワードの保存方法は、あまり安全な方法で行われていませんでした。これは改善"
-"されましたが、Debian 3.1 Sarge が稼働しているホストからクライアント (PHP な"
-"ど) が新しいアカウントやパスワードが変更されたアカウントには接続できなくなる"
-"という欠点もでています。詳細については /usr/share/doc/mysql-server-5.0/"
-"README.Debian を参照してください。"
-
-#~ msgid ""
-#~ "To use mysql you must install an equivalent user and group to the "
-#~ "following and ensure yourself that /var/lib/mysql has the right "
-#~ "permissions (the uid/gid may be different)."
-#~ msgstr ""
-#~ "mysql を利用するには 以下のユーザとグループを作成し、/var/lib/mysql が正し"
-#~ "い権限になっているかどうかを確認する必要があります (おそらく uid/gid が違"
-#~ "います)。"
-
-#~ msgid ""
-#~ "/etc/passwd:      mysql:x:100:101:MySQL Server:/var/lib/mysql:/bin/false"
-#~ msgstr ""
-#~ "/etc/passwd:      mysql:x:100:101:MySQL Server:/var/lib/mysql:/bin/false"
-
-#~ msgid "/etc/group:       mysql:x:101:"
-#~ msgstr "/etc/group:       mysql:x:101:"
-
-#~ msgid "/var/lib/mysql:   drwxr-xr-x   mysql    mysql"
-#~ msgstr "/var/lib/mysql:   drwxr-xr-x   mysql    mysql"
-
-#~ msgid "Remove the databases used by all MySQL versions?"
-#~ msgstr "全バージョンの MySQL で利用されているデータベースを削除しますか?"
-
-#~ msgid ""
-#~ "If you do not provide a password no changes will be made to the account."
-#~ msgstr ""
-#~ "パスワードを入力しない場合、アカウントに対して変更は加えられません。"
-
-#~ msgid ""
-#~ "When installation finishes, you should verify that the account is "
-#~ "properly protected with a password (see README.Debian for more "
-#~ "information)."
-#~ msgstr ""
-#~ "インストールが終了した際、アカウントがパスワードできちんと保護されているか"
-#~ "どうかを確認してください (詳細については README.Debian を参照してくださ"
-#~ "い)。"
-
-#~ msgid "Cannot upgrade if ISAM tables are present!"
-#~ msgstr "ISAM テーブルがある場合はアップグレードできません!"
-
-#~ msgid ""
-#~ "Recent versions of MySQL can no longer use the old ISAM table format and "
-#~ "it is necessary to convert your tables to e.g. MyISAM before upgrading by "
-#~ "using \"mysql_convert_table_format\" or \"ALTER TABLE x ENGINE=MyISAM\". "
-#~ "The installation of mysql-server-5.0 will now abort. In case your old "
-#~ "mysql-server-4.1 gets removed nevertheless just reinstall it to convert "
-#~ "those tables."
-#~ msgstr ""
-#~ "MySQL の最近のバージョンでは以前の ISAM テーブル形式は利用できなくなってい"
-#~ "ます。そのため、例えば \"mysql_convert_table_format\" あるいは \"ALTER "
-#~ "TABLE x ENGINE=MyISAM\" としてアップグレード前に MyISAM にコンバートするこ"
-#~ "となどが必要です。mysql-server-5.0 のインストールを中断します。以前の "
-#~ "mysql-server-4.1 が削除されてしまった場合であっても、テーブルをコンバート"
-#~ "するために再インストールをしてください。"
-
-#~ msgid "Install Hints"
-#~ msgstr "インストールのヒント"
-
-#~ msgid ""
-#~ "On upgrades from MySQL 3.23, as shipped with Debian Woody, symlinks in "
-#~ "place of /var/lib/mysql or /var/log/mysql gets accidently removed and "
-#~ "have manually be restored."
-#~ msgstr ""
-#~ "Debian Woody でリリースされた MySQL 3.23 からのアップグレードでは、/var/"
-#~ "lib/mysql あるいは /var/log/mysql の代わりにシンボリックリンクは偶然にも削"
-#~ "除されてしまっているので、手動でのリストアが必要になります。"
-
-#~ msgid ""
-#~ "MySQL will only install if you have a non-numeric hostname that is "
-#~ "resolvable via the /etc/hosts file. E.g. if the \"hostname\" command "
-#~ "returns \"myhostname\" then there must be a line like \"10.0.0.1 "
-#~ "myhostname\"."
-#~ msgstr ""
-#~ "MySQL は /etc/hosts ファイル経由で解決できる「数字のみで構成されてない」ホ"
-#~ "スト名の場合のみ、インストールされます。つまり、\"hostname\" コマンドが "
-#~ "\"myhostname\" を返すなら、\"10.0.0.1 myhostname\" という行が /etc/hosts "
-#~ "ファイルにあるはずです。"
-
-#~ msgid ""
-#~ "A new mysql user \"debian-sys-maint\" will be created. This mysql account "
-#~ "is used in the start/stop and cron scripts. Don't delete."
-#~ msgstr ""
-#~ "新規に mysql ユーザとして \"debian-sys-maint\" が作成されます。この mysql "
-#~ "アカウントは start/stop 時と cron スクリプトで利用されます。消さないでくだ"
-#~ "さい。"
-
-#~ msgid ""
-#~ "Please remember to set a PASSWORD for the MySQL root user! If you use a /"
-#~ "root/.my.cnf, always write the \"user\" and the \"password\" lines in "
-#~ "there, never only the password!"
-#~ msgstr ""
-#~ "MySQL の root ユーザに対して「パスワードの設定」を忘れないでください! /"
-#~ "root/.my.cnf を使っている場合、このファイル中の \"user\" 行と \"password"
-#~ "\" 行を記述してください。決してパスワードだけではいけません!"
-
-#~ msgid ""
-#~ "Should I remove the complete /var/lib/mysql directory tree which is used "
-#~ "by all MySQL versions, not necessarily only the one you are about to "
-#~ "purge?"
-#~ msgstr ""
-#~ "これから purge しようとしているバージョンだけでは無く、全てのバージョンの "
-#~ "MySQL が /var/lib/mysql ディレクトリを使用しています。このディレクトリを完"
-#~ "全に削除しますか?"
-
-#~ msgid "Update Hints"
-#~ msgstr "更新のヒント"
-
-#~ msgid ""
-#~ "Rarely, e.g. on new major versions, the privilege system is improved. To "
-#~ "make use of it mysql_fix_privilege_tables must be executed manually. The "
-#~ "script is not supposed to give any user more rights that he had before,"
-#~ msgstr ""
-#~ "まれに、つまりは新しいメジャーバージョンにおいて、特権システムが改善されま"
-#~ "す。これを行うには、mysql_fix_privilege_table を手動で実行する必要がありま"
-#~ "す。スクリプトは、どのようなユーザに対しても、以前に保持していた以上の権限"
-#~ "を与えるようにはなっていません。"
-
-#~ msgid "Please also read http://www.mysql.com/doc/en/Upgrade.html"
-#~ msgstr "http://www.mysql.com/doc/ja/Upgrade.html も参照してください"
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mysql-dfsg-5.0 5.0.51-2\n"
+"Report-Msgid-Bugs-To: pkg-mysql-maint at lists.alioth.debian.org\n"
+"POT-Creation-Date: 2007-05-08 20:33+0200\n"
+"PO-Revision-Date: 2008-01-22 07:25+0900\n"
+"Last-Translator: Hideki Yamane (Debian-JP) <henrich at debian.or.jp>\n"
+"Language-Team: Japanese <debian-japanese at lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:2001
+msgid "Really proceed with downgrade?"
+msgstr "本当にダウングレードを実施しますか?"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.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
+#: ../mysql-server-5.0.templates:2001
+msgid ""
+"Such file is an indication that a mysql-server package with a higher version "
+"has been installed earlier."
+msgstr ""
+"このファイルは、より新しいバージョンの mysql-server パッケージが以前にインストール"
+"されていたことを示しています。"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:2001
+msgid ""
+"There is no guarantee that the version you're currently installing will be "
+"able to use the current databases."
+msgstr ""
+"現在のデータベースを今インストールしようとしているバージョンで使える保証はありません。"
+
+#. Type: note
+#. Description
+#: ../mysql-server-5.0.templates:3001
+msgid "Important note for NIS/YP users"
+msgstr "NIS/YP ユーザへの重要な注意"
+
+#. Type: note
+#. Description
+#: ../mysql-server-5.0.templates:3001
+msgid ""
+"To use MySQL, the following entries for users and groups should be added to "
+"the system:"
+msgstr ""
+"MySQL を使うには、システムに以下のユーザ/グループのエントリを追加する必要があります:"
+
+#. Type: note
+#. Description
+#: ../mysql-server-5.0.templates:3001
+msgid ""
+"You should also check the permissions and the owner of the /var/lib/mysql "
+"directory:"
+msgstr ""
+"/var/lib/mysql ディレクトリの権限と所有者も確認してください:"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:4001
+msgid "Remove all MySQL databases?"
+msgstr "MySQL データベースをすべて削除しますか?"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:4001
+msgid ""
+"The /var/lib/mysql directory which contains the MySQL databases is about to "
+"be removed."
+msgstr ""
+"MySQL データベースが格納されている /var/lib/mysql ディレクトリが削除されます。"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:4001
+msgid ""
+"If you're removing the MySQL package in order to later install a more recent "
+"version or if a different mysql-server package is already using it, the data "
+"should be kept."
+msgstr ""
+"より新しいバージョンの MySQL をインストールするために MySQL パッケージを削除する"
+"場合、あるいは別の mysql-server パッケージを既に使っている場合は、データを保持する"
+"必要があります。"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:5001
+msgid "Start the MySQL server on boot?"
+msgstr "MySQL サーバをシステム起動時に開始しますか?"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:5001
+msgid ""
+"The MySQL server can be launched automatically at boot time or manually with "
+"the '/etc/init.d/mysql start' command."
+msgstr ""
+"MySQL サーバをシステム起動時に自動的に開始するようにするか、あるいは "
+"'/etc/init.d/mysql start' と手動で起動するようにするかできます。"
+
+#. Type: password
+#. Description
+#: ../mysql-server-5.0.templates:6001
+msgid "New password for the MySQL \"root\" user:"
+msgstr "MySQL の \"root\" ユーザに対する新しいパスワード:"
+
+#. Type: password
+#. Description
+#: ../mysql-server-5.0.templates:6001
+msgid ""
+"While not mandatory, it is highly recommended that you set a password for "
+"the MySQL administrative \"root\" user."
+msgstr ""
+"強制ではないですが、MySQL を管理する \"root\" ユーザのパスワードを設定することを"
+"強くお勧めします。"
+
+#. Type: password
+#. Description
+#: ../mysql-server-5.0.templates:6001
+msgid "If that field is left blank, the password will not be changed."
+msgstr "入力が空の場合はパスワードは変更されません。"
+
+#. Type: error
+#. Description
+#: ../mysql-server-5.0.templates:7001
+msgid "Unable to set password for the MySQL \"root\" user"
+msgstr "MySQL の \"root\" ユーザのパスワードを設定できません"
+
+#. Type: error
+#. Description
+#: ../mysql-server-5.0.templates:7001
+msgid ""
+"An error occurred while setting the password for the MySQL administrative "
+"user. This may have happened because the account already has a password, or "
+"because of a communication problem with the MySQL server."
+msgstr ""
+"MySQL の管理者ユーザに対してパスワードを設定しようとした際、エラーが発生した"
+"ようです。これは既に管理者ユーザにパスワードが設定されていたか、MySQL サーバ"
+"との接続に問題があったためだと思われます。"
+
+#. Type: error
+#. Description
+#: ../mysql-server-5.0.templates:7001
+msgid "You should check the account's password after the package installation."
+msgstr "パッケージのインストール後、アカウントのパスワードをチェックしてください。"
+
+#. Type: error
+#. Description
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:7001 ../mysql-server-5.0.templates:8001
+msgid ""
+"Please read the /usr/share/doc/mysql-server-5.0/README.Debian file for more "
+"information."
+msgstr ""
+"詳細は /usr/share/doc/mysql-server-5.0/README.Debian ファイルを参照してください。"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:8001
+msgid "Support MySQL connections from hosts running Debian \"sarge\" or older?"
+msgstr ""
+"Debian \"Sarge\" あるいはそれよりも古いバージョンが稼働しているホストからの "
+"MySQL 接続をサポートしますか?"
+
+#. Type: boolean
+#. Description
+#: ../mysql-server-5.0.templates:8001
+msgid ""
+"In old versions of MySQL clients on Debian, passwords were not stored "
+"securely. This has been improved since then, however clients (such as PHP) "
+"from hosts running Debian 3.1 Sarge will not be able to connect to recent "
+"accounts or accounts whose password have been changed."
+msgstr ""
+"以前の Debian の MySQL クライアントでは、パスワードは、あまり安全な方法で保存"
+"されてませんでした。これは改善されましたが、Debian 3.1 Sarge が稼働している"
+"ホストからクライアント (PHP など) が新しいアカウントやパスワードが変更された"
+"アカウントには接続できなくなります。"
+

Modified: trunk/debian/rules
===================================================================
--- trunk/debian/rules	2008-02-20 15:18:13 UTC (rev 1153)
+++ trunk/debian/rules	2008-02-20 15:18:20 UTC (rev 1154)
@@ -29,8 +29,10 @@
     USE_ASSEMBLER=--enable-assembler 
 endif
 
-ifneq ($(findstring $(ARCH), alpha arm hppa mipsel sparc),$(ARCH))
-    RUN_TESTSUITE=1
+ifneq ($(findstring $(ARCH), alpha arm armel hppa mipsel powerpc sparc),)
+   TESTSUITE_FAIL_CMD=true
+else
+   TESTSUITE_FAIL_CMD=exit 1
 endif
 
 # This causes seg11 crashes if LDAP is used for groups in /etc/nsswitch.conf
@@ -123,11 +125,13 @@
 
 	$(MAKE) $(MAKE_J)
 
-	if [ "$(RUN_TESTSUITE)" == "1" ] && [ ! -f testsuite-stamp ] ; then \
+ifeq ($(findstring $(DEB_BUILD_OPTIONS),nocheck),)
+	if [ ! -f testsuite-stamp ] ; then \
 	  cd mysql-test ; \
-	  /usr/bin/perl ./mysql-test-run.pl --mysqld=--user=root --force ; \
-	  /usr/bin/perl ./mysql-test-run.pl --mysqld=--user=root --force --ps-protocol ; \
+	  /usr/bin/perl ./mysql-test-run.pl --mysqld=--user=root --force || $(TESTSUITE_FAIL_CMD) ; \
+	  /usr/bin/perl ./mysql-test-run.pl --mysqld=--user=root --force --ps-protocol || $(TESTSUITE_FAIL_CMD) ; \
 	fi
+endif
 
 	touch testsuite-stamp
 




More information about the Pkg-mysql-commits mailing list