MCPcopy Create free account
hub / github.com/apache/cloudberry / shareinput_release_callback

Function shareinput_release_callback

src/backend/executor/nodeShareInputScan.c:905–930  ·  view source on GitHub ↗

* Callback to release references on transaction abort. */

Source from the content-addressed store, hash-verified

903 * Callback to release references on transaction abort.
904 */
905static void
906shareinput_release_callback(ResourceReleasePhase phase,
907 bool isCommit,
908 bool isTopLevel,
909 void *arg)
910{
911 dlist_mutable_iter miter;
912
913 if (phase != RESOURCE_RELEASE_BEFORE_LOCKS)
914 return;
915
916 dlist_foreach_modify(miter, &shareinput_Xslice_refs)
917 {
918 shareinput_Xslice_reference *ref =
919 dlist_container(shareinput_Xslice_reference,
920 node,
921 miter.cur);
922
923 if (ref->owner == CurrentResourceOwner)
924 {
925 if (isCommit)
926 elog(WARNING, "shareinput lease reference leak: lease %p still referenced", ref);
927 release_shareinput_reference(ref, false);
928 }
929 }
930}
931
932/*
933 * shareinput_reader_waitready

Callers

nothing calls this directly

Calls 1

Tested by

no test coverage detected