쿼리 오류가 뭐때문에 나오는지 이유를 모르겠네요

by 펌피 posted Sep 18, 2017

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 32bit, Linux 64bit 등
CUBRID Ver.
[cubrid_rel] 수행 결과9.3.9
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
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을 사용한걸 주석하면 정상적으로 됩니다.


도대체 무슨 이유인지 잘 모르겠네요


그리구 비밀글로 작성할려면 어떻게 하나여??



Articles