protected override bool ReleaseHandle() { if (IsClosed) { return(true); } IntPtr[] statusVector = new IntPtr[IscCodes.ISC_STATUS_LENGTH]; BlobHandle @ref = this; FbClient.isc_close_blob(statusVector, ref @ref); handle = @ref.handle; var exception = FesConnection.ParseStatusVector(statusVector, Charset.DefaultCharset); return(exception == null || exception.IsWarning); }
internal void ProcessStatusVector(IntPtr[] statusVector) { var ex = FesConnection.ParseStatusVector(statusVector, Charset); if (ex != null) { if (ex.IsWarning) { WarningMessage?.Invoke(ex); } else { throw ex; } } }
protected override bool ReleaseHandle() { Contract.Requires(FbClient != null); if (IsClosed) { return(true); } var statusVector = new IntPtr[IscCodes.ISC_STATUS_LENGTH]; var @ref = this; FbClient.isc_rollback_transaction(statusVector, ref @ref); handle = @ref.handle; var exception = FesConnection.ParseStatusVector(statusVector, Charset.DefaultCharset); return(exception == null || exception.IsWarning); }
protected override bool ReleaseHandle() { Contract.Requires(FbClient != null); if (IsClosed) { return(true); } IntPtr[] statusVector = new IntPtr[IscCodes.ISC_STATUS_LENGTH]; StatementHandle @ref = this; FbClient.isc_dsql_free_statement(statusVector, ref @ref, IscCodes.DSQL_drop); handle = @ref.handle; var exception = FesConnection.ParseStatusVector(statusVector, Charset.DefaultCharset); return(exception == null || exception.IsWarning); }