1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Merge dator5.(none):/home/pappa/clean-mysql-5.1

into  dator5.(none):/home/pappa/bug17138


mysql-test/t/partition.test:
  Auto merged
sql/handler.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
This commit is contained in:
unknown
2006-06-19 22:52:31 -04:00
9 changed files with 86 additions and 23 deletions

View File

@@ -970,7 +970,28 @@ public:
bool has_transactions()
{ return (ha_table_flags() & HA_NO_TRANSACTIONS) == 0; }
virtual uint extra_rec_buf_length() const { return 0; }
/*
This method is used to analyse the error to see whether the error
is ignorable or not, certain handlers can have more error that are
ignorable than others. E.g. the partition handler can get inserts
into a range where there is no partition and this is an ignorable
error.
*/
#define HA_CHECK_DUPP_KEY 1
#define HA_CHECK_DUPP_UNIQUE 2
#define HA_CHECK_DUPP (HA_CHECK_DUPP_KEY + HA_CHECK_DUPP_UNIQUE)
virtual bool cannot_ignore_error(int error, uint flags)
{
if (!error ||
((flags & HA_CHECK_DUPP_KEY) &&
error == HA_ERR_FOUND_DUPP_KEY) ||
((flags & HA_CHECK_DUPP_UNIQUE) &&
error == HA_ERR_FOUND_DUPP_UNIQUE))
return FALSE;
return TRUE;
}
/*
Number of rows in table. It will only be called if
(table_flags() & (HA_HAS_RECORDS | HA_STATS_RECORDS_IS_EXACT)) != 0
@@ -1022,7 +1043,7 @@ public:
DBUG_RETURN(rnd_end());
}
int ha_reset();
/* this is necessary in many places, e.g. in HANDLER command */
int ha_index_or_rnd_end()
{