This ticket refers to the direct WT_RET_MSG and WT_ERR_MSG section within the technical design. After milestone 1, a basic API and structure should be created on the session structure. The work involved in this ticket is to update the WT_RET_MSG and WT_ERR_MSG macro to track the last error and error message that has occurred in the session API call. The behaviour of the error message in the API must adhere to these rules:
* Error messages are optional, and will be returned with an empty string (“”) by default upon an error. * WiredTiger will own the memory lifetime of the string * The pointer to the string will be invalidated on the next session API call. Users should copy the string if they want to retain this information. * Any subsequent session API call will invalidate the pointer to the string.
Defintion of done
The new API works whenever a WT_RET_MSG/WT_ERR_MSG is returned from an API. A unit test and python test should be created to demonstrate this.