Loading client/mysqldump.c +9 −0 Original line number Diff line number Diff line Loading @@ -2561,6 +2561,7 @@ static int do_show_master_status(MYSQL *mysql_con) row = mysql_fetch_row(master); if (row && row[0] && row[1]) { /* SHOW MASTER STATUS reports file and position */ if (opt_comments) fprintf(md_result_file, "\n--\n-- Position to start replication or point-in-time " Loading @@ -2570,6 +2571,14 @@ static int do_show_master_status(MYSQL *mysql_con) comment_prefix, row[0], row[1]); check_io(md_result_file); } else if (!ignore_errors) { /* SHOW MASTER STATUS reports nothing and --force is not enabled */ my_printf_error(0, "Error: Binlogging on server not active", MYF(0), mysql_error(mysql_con)); mysql_free_result(master); return 1; } mysql_free_result(master); } return 0; Loading sql/ha_ndbcluster.cc +10 −5 Original line number Diff line number Diff line Loading @@ -1249,7 +1249,7 @@ int ha_ndbcluster::set_primary_key(NdbOperation *op, const byte *key) } int ha_ndbcluster::set_primary_key_from_record(NdbOperation *op, const byte *old_data) int ha_ndbcluster::set_primary_key_from_record(NdbOperation *op, const byte *record) { KEY* key_info= table->key_info + table->s->primary_key; KEY_PART_INFO* key_part= key_info->key_part; Loading @@ -1260,7 +1260,7 @@ int ha_ndbcluster::set_primary_key_from_record(NdbOperation *op, const byte *old { Field* field= key_part->field; if (set_ndb_key(op, field, key_part->fieldnr-1, old_data+key_part->offset)) key_part->fieldnr-1, record+key_part->offset)) ERR_RETURN(op->getNdbError()); } DBUG_RETURN(0); Loading Loading @@ -2102,7 +2102,7 @@ int ha_ndbcluster::update_row(const byte *old_data, byte *new_data) if ((table->s->primary_key != MAX_KEY) && (key_cmp(table->s->primary_key, old_data, new_data))) { int read_res, insert_res, delete_res; int read_res, insert_res, delete_res, undo_res; DBUG_PRINT("info", ("primary key update, doing pk read+delete+insert")); // Get all old fields, since we optimize away fields not in query Loading Loading @@ -2131,9 +2131,14 @@ int ha_ndbcluster::update_row(const byte *old_data, byte *new_data) DBUG_PRINT("info", ("insert failed")); if (trans->commitStatus() == NdbConnection::Started) { // Undo write_row(new_data) // Undo delete_row(old_data) m_primary_key_update= TRUE; insert_res= write_row((byte *)old_data); undo_res= write_row((byte *)old_data); if (undo_res) push_warning(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN, undo_res, "NDB failed undoing delete at primary key update"); m_primary_key_update= FALSE; } DBUG_RETURN(insert_res); Loading sql/ha_ndbcluster.h +1 −1 Original line number Diff line number Diff line Loading @@ -580,7 +580,7 @@ static void set_tabname(const char *pathname, char *tabname); 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_from_record(NdbOperation *op, const byte *old_data); int set_primary_key_from_record(NdbOperation *op, const byte *record); int set_bounds(NdbIndexScanOperation*, const key_range *keys[2], uint= 0); int key_cmp(uint keynr, const byte * old_row, const byte * new_row); int set_index_key(NdbOperation *, const KEY *key_info, const byte *key_ptr); Loading Loading
client/mysqldump.c +9 −0 Original line number Diff line number Diff line Loading @@ -2561,6 +2561,7 @@ static int do_show_master_status(MYSQL *mysql_con) row = mysql_fetch_row(master); if (row && row[0] && row[1]) { /* SHOW MASTER STATUS reports file and position */ if (opt_comments) fprintf(md_result_file, "\n--\n-- Position to start replication or point-in-time " Loading @@ -2570,6 +2571,14 @@ static int do_show_master_status(MYSQL *mysql_con) comment_prefix, row[0], row[1]); check_io(md_result_file); } else if (!ignore_errors) { /* SHOW MASTER STATUS reports nothing and --force is not enabled */ my_printf_error(0, "Error: Binlogging on server not active", MYF(0), mysql_error(mysql_con)); mysql_free_result(master); return 1; } mysql_free_result(master); } return 0; Loading
sql/ha_ndbcluster.cc +10 −5 Original line number Diff line number Diff line Loading @@ -1249,7 +1249,7 @@ int ha_ndbcluster::set_primary_key(NdbOperation *op, const byte *key) } int ha_ndbcluster::set_primary_key_from_record(NdbOperation *op, const byte *old_data) int ha_ndbcluster::set_primary_key_from_record(NdbOperation *op, const byte *record) { KEY* key_info= table->key_info + table->s->primary_key; KEY_PART_INFO* key_part= key_info->key_part; Loading @@ -1260,7 +1260,7 @@ int ha_ndbcluster::set_primary_key_from_record(NdbOperation *op, const byte *old { Field* field= key_part->field; if (set_ndb_key(op, field, key_part->fieldnr-1, old_data+key_part->offset)) key_part->fieldnr-1, record+key_part->offset)) ERR_RETURN(op->getNdbError()); } DBUG_RETURN(0); Loading Loading @@ -2102,7 +2102,7 @@ int ha_ndbcluster::update_row(const byte *old_data, byte *new_data) if ((table->s->primary_key != MAX_KEY) && (key_cmp(table->s->primary_key, old_data, new_data))) { int read_res, insert_res, delete_res; int read_res, insert_res, delete_res, undo_res; DBUG_PRINT("info", ("primary key update, doing pk read+delete+insert")); // Get all old fields, since we optimize away fields not in query Loading Loading @@ -2131,9 +2131,14 @@ int ha_ndbcluster::update_row(const byte *old_data, byte *new_data) DBUG_PRINT("info", ("insert failed")); if (trans->commitStatus() == NdbConnection::Started) { // Undo write_row(new_data) // Undo delete_row(old_data) m_primary_key_update= TRUE; insert_res= write_row((byte *)old_data); undo_res= write_row((byte *)old_data); if (undo_res) push_warning(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN, undo_res, "NDB failed undoing delete at primary key update"); m_primary_key_update= FALSE; } DBUG_RETURN(insert_res); Loading
sql/ha_ndbcluster.h +1 −1 Original line number Diff line number Diff line Loading @@ -580,7 +580,7 @@ static void set_tabname(const char *pathname, char *tabname); 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_from_record(NdbOperation *op, const byte *old_data); int set_primary_key_from_record(NdbOperation *op, const byte *record); int set_bounds(NdbIndexScanOperation*, const key_range *keys[2], uint= 0); int key_cmp(uint keynr, const byte * old_row, const byte * new_row); int set_index_key(NdbOperation *, const KEY *key_info, const byte *key_ptr); Loading