summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authormskold@mysql.com <>2005-06-29 16:13:50 +0200
committermskold@mysql.com <>2005-06-29 16:13:50 +0200
commitec4bb863794b22f9dfcedffab38b83de4286bf67 (patch)
tree44a4f310faf8837ba33378cb055689ce9d75ef99 /sql
parentff764e2b5aa687deb50285303e12e49be0ee3d9c (diff)
downloadmariadb-git-ec4bb863794b22f9dfcedffab38b83de4286bf67.tar.gz
Changed delete_row to always get key from record argument
Diffstat (limited to 'sql')
-rw-r--r--sql/ha_ndbcluster.cc28
-rw-r--r--sql/ha_ndbcluster.h5
2 files changed, 14 insertions, 19 deletions
diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc
index 65c5fcb7de4..0fe2d56a93a 100644
--- a/sql/ha_ndbcluster.cc
+++ b/sql/ha_ndbcluster.cc
@@ -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;
}
}
diff --git a/sql/ha_ndbcluster.h b/sql/ha_ndbcluster.h
index 5c1d121a157..8e44733f905 100644
--- a/sql/ha_ndbcluster.h
+++ b/sql/ha_ndbcluster.h
@@ -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();