mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge dator5.(none):/home/pappa/clean-mysql-5.1
into dator5.(none):/home/pappa/bug17138
This commit is contained in:
@ -218,11 +218,6 @@
|
||||
#define HA_BLOCK_LOCK 256 /* unlock when reading some records */
|
||||
#define HA_OPEN_TEMPORARY 512
|
||||
|
||||
/* Errors on write which is recoverable (Key exist) */
|
||||
#define HA_WRITE_SKIP 121 /* Duplicate key on write */
|
||||
#define HA_READ_CHECK 123 /* Update with is recoverable */
|
||||
#define HA_CANT_DO_THAT 131 /* Databasehandler can't do it */
|
||||
|
||||
/* Some key definitions */
|
||||
#define HA_KEY_NULL_LENGTH 1
|
||||
#define HA_KEY_BLOB_LENGTH 2
|
||||
@ -242,6 +237,11 @@
|
||||
/* Options of START TRANSACTION statement (and later of SET TRANSACTION stmt) */
|
||||
#define MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT 1
|
||||
|
||||
/* Flags for method is_fatal_error */
|
||||
#define HA_CHECK_DUP_KEY 1
|
||||
#define HA_CHECK_DUP_UNIQUE 2
|
||||
#define HA_CHECK_DUP (HA_CHECK_DUP_KEY + HA_CHECK_DUP_UNIQUE)
|
||||
|
||||
enum legacy_db_type
|
||||
{
|
||||
DB_TYPE_UNKNOWN=0,DB_TYPE_DIAB_ISAM=1,
|
||||
@ -972,7 +972,27 @@ 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.
|
||||
HA_ERR_FOUND_DUP_UNIQUE is a special case in MyISAM that means the
|
||||
same thing as HA_ERR_FOUND_DUP_KEY but can in some cases lead to
|
||||
a slightly different error message.
|
||||
*/
|
||||
virtual bool is_fatal_error(int error, uint flags)
|
||||
{
|
||||
if (!error ||
|
||||
((flags & HA_CHECK_DUP_KEY) &&
|
||||
(error == HA_ERR_FOUND_DUPP_KEY ||
|
||||
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
|
||||
@ -1024,7 +1044,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()
|
||||
{
|
||||
|
Reference in New Issue
Block a user