* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
|
Ubuntu 18.04 64bit |
|
CUBRID 11.2 (11.2.1.0677-82f461a) (64bit release build for Linux) (Jul 26 2022 18:30:33) |
|
[도움말]-[버전정보] 확인 |
|
openjdk version "1.8.0_342" |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
제가 간단한 java 저장 함수를 만들어서 test를 하고 있는데 input 값이 254자가 넘어가면 널로 리턴되는 현상이 보입니다.
무엇이 문제가 되는지 도움을 얻을 수 있을까요?
== 테스트 했던 스크립트 ==
# JAVA
public static String JavaSelfTest(String paramString) {
try {
return paramString;
} catch (Exception exception) {
System.err.println("test cubrid 11.2");
return "FALSE";
}
}
# JAVA 저장 함수
CREATE FUNCTION TEST_CUB (
I_DATA VARCHAR(4000)
)
RETURN VARCHAR(4000)
AS
LANGUAGE JAVA
NAME 'TestCub.JavaSelfTest( java.lang.String ) return java.lang.String';
# TEST SQL
select TEST_CUB('123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890');
# TEST 결과
csql> select TEST_CUB('123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890');
=== <Result of SELECT Command in Line 7> ===
TEST_CUB('12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
34567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456
7890123456789012345678901234567890123456789012345678901234' '5678901234567890123456789012345678901234567
890')
======================
''
1 row selected. (0.004749 sec) Committed. (0.000173 sec)
1 command(s) successfully processed.
※ 참고로 "Result of SELECT Command in Line" 여기를 보시면 3번째 줄에 [1234' '5678] 이런식으로 출력되는것으로 보아 뭔가 254자가 넘어갈때 변조가 일어 나는것 같습니다.
※ 또한, 254자가 넘어가면 NULL로 리턴 되는 현상은 11.0에서는 재현되지 않았습니다.