![]() |
|
TYPE BODY aggr_list_t IS STATIC FUNCTION ODCIAggregateInitialize(sctx IN OUT aggr_list_t) RETURN NUMBER IS BEGIN sctx := aggr_list_t(null,','); RETURN ODCIConst.Success; END; MEMBER FUNCTION ODCIAggregateIterate(self IN OUT aggr_list_t, value IN VARCHAR2) RETURN NUMBER IS BEGIN IF value is not null THEN IF self.g_string is not null THEN self.g_string := self.g_string||self.g_separator; END IF; self.g_string := self.g_string||value; END IF; RETURN ODCIConst.Success; END; MEMBER FUNCTION ODCIAggregateTerminate(self IN aggr_list_t, returnValue OUT VARCHAR2, flags IN NUMBER) RETURN NUMBER IS BEGIN returnValue := self.g_string; RETURN ODCIConst.Success; END; MEMBER FUNCTION ODCIAggregateMerge(self IN OUT aggr_list_t, ctx2 IN aggr_list_t) RETURN NUMBER IS BEGIN IF ctx2.g_string is not null THEN IF self.g_string is not null THEN self.g_string := self.g_string||self.g_separator; END IF; self.g_string := self.g_string||ctx2.g_string; END IF; RETURN ODCIConst.Success; END; END;