포럼
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
executeQuery의 버그
2012.04.21 20:01
executeQuery를 사용하면 total_count, total_page, page, list_count 등을 쉽게 관리할 수 있는 굉장한 장점이 있습니다.
그중 total_count 는 같은쿼리를 컬럼을 count(*)로 변경하여 다시한번 재 실행 해주죠.
그런데, member함수에 포함된 getMemberWithinGroup.xml을 살펴보면 group by 절이 포함되어 있습니다.
group by절이 포함된상태에서 count(*)를 사용하면 다음과같은 결과가 나옵니다.
당연하지요. member_srl로 group_by 를 했으니까요.
관리자모드에서 그룹검색을하면 총 회원수가 1로 나옵니다.
이 문제는 같은쿼리를 서브쿼리로 한번 포장을 해준다면 가능합니다.
select count(*) from ( getMemberWithinGroup.xml ) as table
과 같은 형태로 말이죠
그럼 다음과같은 결과가나옵니다.
큰문제는 아니지만, XE를 베이스로 개발하는 모듈개발자 입장에선 꽤나 난해한 문제입니다.
모든쿼리를 서브쿼리화 하여야 하니까요... 1.5에선 그나마 xml 서브쿼리가 지원되서 다행이지만 예전같았으면...
executeQuery 를 포기해야합니다.
다른분들은 어떻게 생각하시나요?
- googleCode에 업로드함이 마땅하다 생각하나, 다른유저분들은 잘안보시는 것 같아 이곳에 올려둡니다.