Background Image

FORUM

조회 수 345 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
  Linux 64bit
CUBRID Ver.
  9.3.6.0002
CUBRID TOOL Ver.
  9.3.1.704
응용 환경(API)
  java

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------


outer join 하여 select 된 결과에 java 저장 함수를 사용하면 오류가 발생합니다.


하위버전과(9.2) 상위버전(10.1) 모두 테스트 해보았는데 9.3.x 버전에서만 오류가 발생하고 있습니다.


(참고로 9.3.2 버전부터 9.3.9 버전까지 전부 설치하여 테스트 )


java 파일은 입력받은 문자 값을 그대로 리턴하도록 작성되어 있습니다.


테스트 과정


1. Dummy.java 컴파일

2. Dummy.class 로드

3. 함수 생성

    CREATE FUNCTION dummy(str string) RETURN String AS LANGUAGE JAVA NAME 'Dummy.pass(java.lang.String) returns java.lang.String';

4. 함수 정상 동작 확인

    SELECT dummy('aaa') FROM db_root; 

5.  테스트 테이블 tb_test1, tb_test2 생성

     CREATE TABLE tb_test1 (a varchar(50), b varchar (50));

     CREATE TABLE tb_test2 (a varchar(50), b varchar (50));


6. 오류 쿼리 실행

   SELECT a.a, dummy(a.a) AS dummy
   FROM  tb_test1 a
  LEFT OUTER JOIN tb_test2 b ON a.b = b.b;


해당 쿼리를 실행 할 경우

 "실행 오류 : -588 INTERNAL ERROR: Assertion 'false' failed " 오류 메세지가 발생합니다.


몇가지 테스트 진행해본 결과 select  된 결과에  사용자 함수 사용 시 a테이블의 컬럼명으로 지정할 때만 해당 오류가 발생하는 듯 합니다. (dummy(a.a) )


오류 쿼리에서  사용자 함수에 문자를 입력하거나 b테이블의 컬럼명을 지정하면 정상 동작 합니다.

정상 동작 쿼리: SELECT a.a, dummy('aaa') AS dummy FROM  tb_test1 a LEFT OUTER JOIN tb_test2 b ON a.b = b.b;

                        SELECT a.a, dummy(b.a) AS dummy FROM  tb_test1 a LEFT OUTER JOIN tb_test2 b ON a.b = b.b;


또한 DB에서 지원하는 trim 같은 함수를 사용할 경우에도 정상 동작하고 있습니다.


에러가 발생하는 원인을 알고 싶습니다.

  • ?
    coolkkm 2017.09.27 09:21
    값이 null이 있거나 해당테이블 칼럼(a.)이 숫자 타입이 아닌가 싶네요
    null 인경우 자바에서 null 처리를 추가하던가 아니면 select 절에서 null 인경우 nvl 처리가 필요할것 같습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 109
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4472
3800 CUBRID Migration Toolkit 사용시 에러 관련사항입니다. 3 file 그가가가 2012.01.03 19049
3799 cub_master: Cannot bind local address... aborting.... Permission denied 2 eldrids 2013.05.17 19007
3798 php에서의 index 힌트사용 문의에요 6 삽질쟁이 2009.04.16 18999
3797 전자정부 Framework 용 DML 오류 1 file 뒷태지존 2013.06.04 18923
3796 테이블 조인 후, 또 정렬 후 결과값들을 게시판 페이징 처리할 때... 3 조상필 2009.10.01 18914
3795 HA,64bit가 적용된 R2.0 에 대한 질문입니다. 2 웃음이 2009.09.19 18793
3794 [쌩초보]내컴퓨터 서버만들기는 성공 했습니다.그후 1 왕초보 2009.03.21 18787
3793 자바 함수 생성후 결과값 확인을 어떻게 하는지?? 3 이석희 2009.03.05 18753
3792 대량 데이터 입력 방법 중에서요.. 2 우페 2008.12.09 18714
3791 Clob Type. 1 tekkal 2009.01.31 18586
3790 php cubrid extension 문의 입니다 - 4 김은호 2009.06.10 18514
3789 HA 복제시 매니저에서의 테이블 생성 1 유니콘 2011.07.15 18502
3788 Cubrid 2008 R2.2 버전 한글 깨짐 관련 문의 1 ezzone 2011.06.04 18468
3787 에러코드 찾는방법 질문 1 joke7 2013.10.22 18451
3786 [초보질문] dbcp test 중 오류발생 3 file 삽질중 2009.05.16 18406
3785 sqldeveloper에서 큐브리드 접속 방법이 궁금합니다. 1 jemcarry 2013.08.23 18359
3784 cubrid manser server start: fail 질문드립니다. 4 네이허 2010.06.04 18276
3783 Java Heap Space 에러가 납니다 2 file 유니콘 2009.03.04 18182
3782 4.0 마이그레이션 중 스키마 로드 오류 9 reerror 2011.11.10 18172
3781 c#과 cubrid2008 연동후 문자열 select 질문. 1 hyperhand 2009.12.21 18158
Board Pagination Prev 1 ... 6 7 8 9 10 11 12 13 14 15 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales