* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
Window7 32bit, Linux 64bit 등 | |
[cubrid_rel] 수행 결과9.3.9 | |
[도움말]-[버전정보] 확인 | |
java, php, odbc 등 입력 |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
SELECT
AA.CONTENT_ID,
AA.CONTENT_GROUP_ID,
AA.TITLE,
AA.DESCRIPTION,
ABCDE(AA.SDATE, '324') AS SDATE,
TO_CHAR(AA.SDATE, 'YYYYMMDD') || REPLACE(TO_CHAR(AA.REGIST_DATE, 'HH24:MM:SS'), ':', '') AS REGIST_DATE,
REPLACE(REPLACE(AA.KEYWORD, ',', ','), '،', ',') AS KEYWORD,
AA.IMAGE_NAME,
AA.IMAGE_PATH,
AA.CONTENT_SOURCE_ID,
ABC(AA.CONTENT_SOURCE_ID, '324') AS CONTENT_SOURCE,
CC.NAME,
FROM_BASE64(TO_BASE64(CC.EMAIL)) AS EMAIL,
BB.CONTENT_STORAGE_ID,
DD.TITLE AS CATEGORY_NM,
CASE BB.CATEGORY_ID
WHEN 3 THEN '123'
ELSE '2344'
END CATEGORY_CODE
FROM
AAAAAA AA
JOIN BBBBBB BB ON AA.LANGUAGE_ID = BB.LANGUAGE_ID
AND AA.CONTENT_GROUP_ID = BB.CONTENT_GROUP_ID
LEFT OUTER JOIN CCCCCC CC ON AA.REGIST_ID = CC.USER_ID
LEFT OUTER JOIN DDDDDD DD ON BB.CATEGORY_ID = DD.CATEGORY_ID
WHERE
AA.CONTENT_ID = #articleId#
AND AA.LANGUAGE_ID = #language#
AND ROWNUM = 1
-------------------------------------------------------------------
해당 쿼리는 업무테이블명을 고대로 가져올수 없어서 임시로 바꾼것들이 있습니다.
현재 저 쿼리를 날려보면
실행 오류 : -588
INTERNAL ERROR: Assertion 'false' failed
이런 에러가 발생합니다.
중간에 LEFT OUTER JOIN 부분 두개를 INNER JOIN 으로 바꾸면 정상적으로 동작합니다. (이때 FUNCTION은 제대로 동작합니다.)
아니면 LEFT OUTER JOIN 상태에서 FUNCTION을 사용한걸 주석하면 정상적으로 됩니다.
도대체 무슨 이유인지 잘 모르겠네요
그리구 비밀글로 작성할려면 어떻게 하나여??
아직, 9.3 버젼에서 정식으로 패치되지 않았습니다.
9.3 버젼을 사용하시려면 outer join질의과 sp를 하나의 query에 사용하지 마시고, outer join을 sub-query로 호출한 후 sp를 사용하시면 해결이 됩니다.
예)
select abcd(a.y) from a left outer join b on a.id = b.id where a.id = 1
->
select abcd(y) from (select y from a left outer join b on a.id = b.id where a.id = 1)