2014-03-05 4 views
1

JUNIT 테스트에 매개 변수가없는 Oracle 함수를 조롱하려고합니다. 내부적으로, HSQLDB는 CURRENT_TIMESTAMP가 괄호를 필요로하지 않으므로 이것을 가지고 있어야합니다.괄호가 필요없는 사용자 지정 함수를 만들 수 있습니까?

select DATE_FUNCTION.HIGH_DATE() from dual; 

이 옵션을 선택하지 않습니다 :

Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: DATE_FUNCTION.HIGH_DATE 
at org.hsqldb.error.Error.error(Unknown Source) 
at org.hsqldb.error.Error.error(Unknown Source) 
at org.hsqldb.ExpressionColumn.checkColumnsResolved(Unknown Source) 

이 함께 잘 작동 : 그래도 난이 오류가

set database sql syntax ORA false; 

CREATE SCHEMA DATE_FUNCTION AUTHORIZATION DBA; 

CREATE FUNCTION DATE_FUNCTION.HIGH_DATE() RETURNS DATE 
LANGUAGE SQL 
RETURN DATE '9999-12-31'; 

set database sql syntax ORA true; 

select DATE_FUNCTION.HIGH_DATE from dual; 

:

나는 이런 일을하고 싶지 나를 위해 원래 코드에 괄호를 추가 할 수 없기 때문에.

도움 주셔서 감사합니다.

감사합니다,

답변

0

HSQLDB 아직 괄호를 추가하지 않고 함수를 호출 지원하지 않습니다. 향후 버전은 호환성을 위해이를 지원할 수 있습니다. 테스트에 Java 코드를 추가하여 HSQLDB로 테스트 할 때 선택하는 특정 이름 패턴에 대한 괄호를 추가 할 수 있습니다.

관련 문제