// return current error message internal string GetErrorMessage() { #if CODECONTRACTS Contract.Ensures(Contract.Result <string>() != null); #endif string msg = string.Empty; if (mConnection != IntPtr.Zero) { unsafe { sbyte *b = PqsqlWrapper.PQerrorMessage(mConnection); if (b != null) { msg = PqsqlUTF8Statement.CreateStringFromUTF8(new IntPtr(b)); } } } return(msg); }