Commit 6b2718d1 authored by unknown's avatar unknown
Browse files

Complaint from a user who was getting sick of repairing their tables do to...

Complaint from a user who was getting sick of repairing their tables do to their lousy setup (their words). All crashed archive tables will now be repaired on open. 


sql/ha_archive.cc:
  Fix for repair table.
parent 8f395ebb
Loading
Loading
Loading
Loading
+8 −11
Original line number Diff line number Diff line
@@ -477,7 +477,7 @@ const char **ha_archive::bas_ext() const
  Init out lock.
  We open the file we will read from.
*/
int ha_archive::open(const char *name, int mode, uint test_if_locked)
int ha_archive::open(const char *name, int mode, uint open_options)
{
  DBUG_ENTER("ha_archive::open");

@@ -492,7 +492,10 @@ int ha_archive::open(const char *name, int mode, uint test_if_locked)
    DBUG_RETURN(HA_ERR_CRASHED_ON_USAGE);
  }

  if (open_options & HA_OPEN_FOR_REPAIR)
    DBUG_RETURN(0);

  DBUG_RETURN(share->crashed ? HA_ERR_CRASHED_ON_USAGE : 0);
}


@@ -1067,7 +1070,8 @@ int ha_archive::delete_all_rows()
*/
bool ha_archive::is_crashed() const 
{
  return share->crashed; 
  DBUG_ENTER("ha_archive::is_crashed");
  DBUG_RETURN(share->crashed); 
}

/*
@@ -1129,13 +1133,6 @@ bool ha_archive::check_and_repair(THD *thd)

  check_opt.init();

  if (check(thd, &check_opt) == HA_ADMIN_CORRUPT)
  {
  DBUG_RETURN(repair(thd, &check_opt));
}
  else
  {
    DBUG_RETURN(HA_ADMIN_OK);
  }
}
#endif /* HAVE_ARCHIVE_DB */