안녕하세요!
다름이 아니오라 트리거에서 다른 함수를 호출하고 싶은데 아래와 같은 메시지가 출력됩니다.
트리거에서 아래와 같이 호출하였습니다.
select func_save(new.code, new.itemcode);
그런데 아래와 같은 에러가 뜹니다.
ERROR: cache lookup failed for function 26431677
무슨에러인지 고수님들의 답변을 부탁드립니다.
func_save 함수가 만일 volatile 옵션으로 만들어진 놈이라면, immutable 옵션으로 다시 만들어서 사용해보세요.
구체적인 내막은 모르겠지만,
func_save() 함수의 인자가 A이고, 리턴값이 언제나 B라면, immutable 옵션을 사용하셔도 됩니다.
아마 그 트리거에서 immutable 형태의 함수를 필요로 하는게 아닐까싶습니다.
아니면, 반대로 volatile 함수를 필요로 하는데, 그 함수가 immutable로 되어있는지도 모르고,
여튼 함수 안에 함수를 사용할 때, 케쉬 문제는 대부분 저 부분 문제입니다.