From: Date: January 17 2006 2:50pm Subject: bk commit into 4.1 tree (msvensson:1.2477) BUG#14634 List-Archive: http://lists.mysql.com/internals/33348 X-Bug: 14634 Message-Id: <20060117135038.57144207820@localhost.localdomain> Below is the list of changes that have just been committed into a local 4.1 repository of msvensson. When msvensson does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet 1.2477 06/01/17 14:50:33 msvensson@neptunus.(none) +2 -0 Bug #14634 Running out of diskspace on tmpdir returns an inappropriate error sql/sql_select.cc 1.445 06/01/17 14:50:30 msvensson@neptunus.(none) +5 -7 Backport from 5.0, catch the new errno that is returned sql/handler.cc 1.172 06/01/17 14:50:30 msvensson@neptunus.(none) +5 -0 Print error describing disk is full, include table->path to make it easier to diagnose # This is a BitKeeper patch. What follows are the unified diffs for the # set of deltas contained in the patch. The rest of the patch, the part # that BitKeeper cares about, is below these diffs. # User: msvensson # Host: neptunus.(none) # Root: /home/msvensson/mysql/bug14634/my41-bug14634 --- 1.171/sql/handler.cc 2005-11-21 12:27:55 +01:00 +++ 1.172/sql/handler.cc 2006-01-17 14:50:30 +01:00 @@ -1086,6 +1086,11 @@ case ENOENT: textno=ER_FILE_NOT_FOUND; break; + case ENOSPC: + my_printf_error(ER_DISK_FULL, + "Disk full, could not write to '%s'", + MYF(0), table->path); + DBUG_VOID_RETURN; case HA_ERR_KEY_NOT_FOUND: case HA_ERR_NO_ACTIVE_RECORD: case HA_ERR_END_OF_FILE: --- 1.444/sql/sql_select.cc 2005-11-15 16:07:02 +01:00 +++ 1.445/sql/sql_select.cc 2006-01-17 14:50:30 +01:00 @@ -5942,21 +5942,19 @@ } if (table) { - int tmp; + int tmp, new_errno= 0; if ((tmp=table->file->extra(HA_EXTRA_NO_CACHE))) { DBUG_PRINT("error",("extra(HA_EXTRA_NO_CACHE) failed")); - my_errno= tmp; - error= -1; + new_errno= tmp; } if ((tmp=table->file->ha_index_or_rnd_end())) { DBUG_PRINT("error",("ha_index_or_rnd_end() failed")); - my_errno= tmp; - error= -1; + new_errno= tmp; } - if (error == -1) - table->file->print_error(my_errno,MYF(0)); + if (new_errno) + table->file->print_error(new_errno,MYF(0)); } #ifndef DBUG_OFF if (error)