group ExtBusSqlDao;
CHECK_TENANT() ::= "tenant_record_id = :tenantRecordId"
AND_CHECK_TENANT() ::= "AND <CHECK_TENANT()>"
getNextBusExtEventEntry() ::= <<
select
record_id
, event_type
, object_id
, object_type
, created_date
, creating_owner
, processing_owner
, processing_available_date
, processing_state
, account_record_id
, tenant_record_id
from bus_ext_events
where
processing_state != 'PROCESSED'
and processing_state != 'REMOVED'
and (processing_owner IS NULL OR processing_available_date \<= :now)
order by
record_id asc
limit :max
;
>>
claimBusExtEvent() ::= <<
update bus_ext_events
set
processing_owner = :owner
, processing_available_date = :nextAvailable
, processing_state = 'IN_PROCESSING'
where
record_id = :recordId
and processing_state != 'PROCESSED'
and processing_state != 'REMOVED'
and (processing_owner IS NULL OR processing_available_date \<= :now)
;
>>
clearBusExtEvent() ::= <<
update bus_ext_events
set
processing_state = 'PROCESSED'
where
record_id = :recordId
;
>>
removeBusExtEventsById() ::= <<
update bus_ext_events
set
processing_state = 'REMOVED'
where
record_id = :recordId
;
>>
insertBusExtEvent() ::= <<
insert into bus_ext_events (
event_type
, object_id
, object_type
, created_date
, creating_owner
, processing_owner
, processing_available_date
, processing_state
, account_record_id
, tenant_record_id
) values (
:eventType
, :objectId
, :objectType
, :createdDate
, :creatingOwner
, :processingOwner
, :processingAvailableDate
, :processingState
, :accountRecordId
, :tenantRecordId
);
>>
insertClaimedExtHistory() ::= <<
insert into claimed_bus_ext_events (
owner_id
, claimed_date
, bus_event_id
, account_record_id
, tenant_record_id
) values (
:ownerId
, :claimedDate
, :busEventId
, :accountRecordId
, :tenantRecordId
);
>>