Commit fa5b6774 authored by unknown's avatar unknown
Browse files

BUG#21033 The error log of mysqld shows useless information, and hides the real error.


ndb/src/ndbapi/Ndb.cpp:
  Ndb.closeTransaction() modifies the value of Ndb.theError.code,
      but the error code shouldn't be changed here.
      Mysqld will use the returning error code to log the correct error information.
parent 540a69c3
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -980,6 +980,8 @@ Ndb::opTupleIdOnNdb(Ndb_local_table_info* info, Uint64 & opValue, Uint32 op)
  Uint64             tValue;
  NdbRecAttr*        tRecAttrResult;

  NdbError savedError;

  CHECK_STATUS_MACRO_ZERO;

  BaseString currentDb(getDatabaseName());
@@ -1074,7 +1076,12 @@ Ndb::opTupleIdOnNdb(Ndb_local_table_info* info, Uint64 & opValue, Uint32 op)

  error_handler:
    theError.code = tConnection->theError.code;

    savedError = theError;

    this->closeTransaction(tConnection);
    theError = savedError;

  error_return:
    // Restore current name space
    setDatabaseName(currentDb.c_str());