Changed delete_row to always get key from record argument
This commit is contained in:
parent
3378673653
commit
e0c17446e0
@ -1113,12 +1113,12 @@ int ha_ndbcluster::set_primary_key(NdbOperation *op, const byte *key)
|
||||
}
|
||||
|
||||
|
||||
int ha_ndbcluster::set_primary_key_from_old_data(NdbOperation *op, const byte *old_data)
|
||||
int ha_ndbcluster::set_primary_key_from_record(NdbOperation *op, const byte *old_data)
|
||||
{
|
||||
KEY* key_info= table->key_info + table->primary_key;
|
||||
KEY_PART_INFO* key_part= key_info->key_part;
|
||||
KEY_PART_INFO* end= key_part+key_info->key_parts;
|
||||
DBUG_ENTER("set_primary_key_from_old_data");
|
||||
DBUG_ENTER("set_primary_key_from_record");
|
||||
|
||||
for (; key_part != end; key_part++)
|
||||
{
|
||||
@ -1130,7 +1130,7 @@ int ha_ndbcluster::set_primary_key_from_old_data(NdbOperation *op, const byte *o
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
int ha_ndbcluster::set_primary_key(NdbOperation *op)
|
||||
{
|
||||
DBUG_ENTER("set_primary_key");
|
||||
@ -1147,7 +1147,7 @@ int ha_ndbcluster::set_primary_key(NdbOperation *op)
|
||||
}
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
Read one record from NDB using primary key
|
||||
@ -1242,7 +1242,7 @@ int ha_ndbcluster::complemented_pk_read(const byte *old_data, byte *new_data)
|
||||
ERR_RETURN(trans->getNdbError());
|
||||
|
||||
int res;
|
||||
if ((res= set_primary_key_from_old_data(op, old_data)))
|
||||
if ((res= set_primary_key_from_record(op, old_data)))
|
||||
ERR_RETURN(trans->getNdbError());
|
||||
|
||||
// Read all unreferenced non-key field(s)
|
||||
@ -1273,7 +1273,7 @@ int ha_ndbcluster::complemented_pk_read(const byte *old_data, byte *new_data)
|
||||
Peek to check if a particular row already exists
|
||||
*/
|
||||
|
||||
int ha_ndbcluster::peek_row()
|
||||
int ha_ndbcluster::peek_row(const byte *record)
|
||||
{
|
||||
NdbConnection *trans= m_active_trans;
|
||||
NdbOperation *op;
|
||||
@ -1287,7 +1287,7 @@ int ha_ndbcluster::peek_row()
|
||||
ERR_RETURN(trans->getNdbError());
|
||||
|
||||
int res;
|
||||
if ((res= set_primary_key(op)))
|
||||
if ((res= set_primary_key_from_record(op, record)))
|
||||
ERR_RETURN(trans->getNdbError());
|
||||
|
||||
if (execute_no_commit_ie(this,trans) != 0)
|
||||
@ -1841,7 +1841,7 @@ int ha_ndbcluster::write_row(byte *record)
|
||||
|
||||
if(m_ignore_dup_key && table->primary_key != MAX_KEY)
|
||||
{
|
||||
int peek_res= peek_row();
|
||||
int peek_res= peek_row(record);
|
||||
|
||||
if (!peek_res)
|
||||
{
|
||||
@ -1891,9 +1891,7 @@ int ha_ndbcluster::write_row(byte *record)
|
||||
m_skip_auto_increment= !auto_increment_column_changed;
|
||||
}
|
||||
|
||||
if ((res= (m_primary_key_update ?
|
||||
set_primary_key_from_old_data(op, record)
|
||||
: set_primary_key(op))))
|
||||
if ((res= set_primary_key_from_record(op, record)))
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -2110,7 +2108,7 @@ int ha_ndbcluster::update_row(const byte *old_data, byte *new_data)
|
||||
else
|
||||
{
|
||||
int res;
|
||||
if ((res= set_primary_key_from_old_data(op, old_data)))
|
||||
if ((res= set_primary_key_from_record(op, old_data)))
|
||||
DBUG_RETURN(res);
|
||||
}
|
||||
}
|
||||
@ -2191,10 +2189,8 @@ int ha_ndbcluster::delete_row(const byte *record)
|
||||
else
|
||||
{
|
||||
int res;
|
||||
if ((res= (m_primary_key_update ?
|
||||
set_primary_key_from_old_data(op, record)
|
||||
: set_primary_key(op))))
|
||||
return res;
|
||||
if ((res= set_primary_key_from_record(op, record)))
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -168,7 +168,7 @@ class ha_ndbcluster: public handler
|
||||
|
||||
int pk_read(const byte *key, uint key_len, byte *buf);
|
||||
int complemented_pk_read(const byte *old_data, byte *new_data);
|
||||
int peek_row();
|
||||
int peek_row(const byte *record);
|
||||
int unique_index_read(const byte *key, uint key_len,
|
||||
byte *buf);
|
||||
int ordered_index_scan(const key_range *start_key,
|
||||
@ -196,8 +196,7 @@ class ha_ndbcluster: public handler
|
||||
friend int g_get_ndb_blobs_value(NdbBlob *ndb_blob, void *arg);
|
||||
int get_ndb_blobs_value(NdbBlob *last_ndb_blob);
|
||||
int set_primary_key(NdbOperation *op, const byte *key);
|
||||
int set_primary_key(NdbOperation *op);
|
||||
int set_primary_key_from_old_data(NdbOperation *op, const byte *old_data);
|
||||
int set_primary_key_from_record(NdbOperation *op, const byte *old_data);
|
||||
int set_bounds(NdbIndexScanOperation *ndb_op, const key_range *keys[2]);
|
||||
int key_cmp(uint keynr, const byte * old_row, const byte * new_row);
|
||||
void print_results();
|
||||
|
Loading…
x
Reference in New Issue
Block a user