포럼
DB쿼리 XML conditions 에서 notnull="notnull" 안먹히는거 같아요.
2012.01.10 15:49
1.4 버전까지만 해도 먹힌거 같은데 1.5 들어서 안먹히는듯요.
예를 들면 아래와 같을 때 예전에는 unique_srl 값을 넘겨주지 않으면 쿼리 자체가 수행이 안되고 리턴값으로 오류가 넘어왔는데,
지금은 conditions(where 절)을 뺀채 실행이 되어 버리네요(모든 레코드가 삭제됨). 그래서 executeQuery 하기전에 unique_srl값이 정상적으로 있는지 없는지 체크하는 코드를 넣어야 합니다.
<query id="deleteSomething" action="delete">
<tables>
<table name="something" />
</tables>
<conditions>
<condition operation="equal" column="unique_srl" var="unique_srl" filter="number" notnull="notnull" />
</conditions>
</query>
댓글 4
-
카르마
2012.01.10 18:19
-
sol
2012.01.10 22:27
확인 중에 있습니다.
-
wiley
2012.01.11 02:28
MySQL에서 테스트 했습니다.
unique_srl에 값을 안넣어 줬을 때(값이 null일때) notnull="notnull"이 정상 작동하구요. ("unique_srl에 값을 입력해주세요" 오류리턴)
unique_srl 값이 ""(빈문자열), boolean(TRUE,FALSE) 일 때 conditions(where절)을 빼고 쿼리를 던지네요..
-
카르마
2012.01.11 09:11
liveXE가 1.5버전에서 동작하지 않는 것도 이것과 관계가 있지 않을까 싶습니다.
저도 궁금한 부분입니다.
사실 아직 1.5로 업데이트를 하지 못한 사이트들이 몇개 있습니다.
일부 자체 제작한 모듈들에서 공통적으로 발생하는 문제더군요.
몇개는 schema와 queries.xml에서 notnull="notnull"을 몽땅 삭제하고 db 구조도 변경하는 작업을 해서 일부는 동작을 하지만 아직 전부다 수정하지 못해서리...
가장 중요한 메인 모듈은 워낙 DB 양이 많아서리...
DB 복제해서 테스트를 하기도 뭐하고
쌩으로 작업하다보면 작업끝날때까지 에러생기는 것도 그렇고...
이래저래 미루고 있는 중입니다.
이유는 모르겠지만 절충점은 찾아서 그나마 안도하고 있는 중입니다.