빈 배열을 테스트하려고합니다. 0- 차원 배열이기 때문에 array_length
NULL
의 이유를 이해합니다. 그러나 array_ndims(array[]::int array)
은 0
이 아니며, NULL
이 아닌 이유는 무엇입니까? 단순히 < 0
에 <= 0
을 변경,왜`array_ndims (array [])`가 NULL을 생성합니까?
/* Sanity check: does it look like an array at all? */
if (AARR_NDIM(v) <= 0 || AARR_NDIM(v) > MAXDIM)
PG_RETURN_NULL();
당신은이에 대한 자신의 C 함수를 작성할 수는 0을 반환하지 않습니다 같은
HTTP ://www.postgresql-archive.org/array-ndims-never-returns-zero-td5998579.html @Lukasz 답장을 수락하십시오 - 올바른 질문 (오늘은 오늘)과 실제로는 (적어도 오늘은) 적절하게 문서화되지 않았습니다 –