/// <summary> /// Gets the Oracle object type associated with the queue for batched operations. /// </summary> /// <returns></returns> public async Task <OracleObjectType> GetPayloadArrayTypeAsync() { if (PayloadArrayTypeName == null) { throw new InvalidOperationException($"{nameof(PayloadArrayTypeName)} is null during attempt to dequeue multiple UDT messages."); } // retrieve type if (payloadArrayType == null) { payloadArrayType = await OracleObjectTypeProvider.GetObjectMetadataAsync(Connection, PayloadArrayTypeName, log); } return(payloadArrayType); }
/// <summary> /// Gets the UDT type associated with the queue. /// </summary> /// <returns></returns> public async Task <OracleObjectType> GetPayloadTypeAsync() { if (PayloadTypeName == null) { throw new InvalidOperationException($"{nameof(PayloadTypeName)} is null during attempt to dequeue a UDT message."); } // retrieve type if (payloadType == null) { payloadType = await OracleObjectTypeProvider.GetObjectMetadataAsync(Connection, PayloadTypeName, log); } // failure to get metadata if (payloadType == null) { throw new OracleAQException($"Unable to retrieve metadata for UDT {PayloadTypeName}."); } return(payloadType); }