---test: nest call
START TRANSACTION;
CREATE FUNCTION java_addOne_Integer(int)
	RETURNS int
	AS 'huawei.javaudf.basic.BasicJavaUDF.addOne(java.lang.Integer)'
	IMMUTABLE LANGUAGE java;

CREATE FUNCTION nullOnEven(int)
	RETURNS int
	AS 'huawei.javaudf.basic.BasicJavaUDF.nullOnEven'
	IMMUTABLE LANGUAGE java;

SELECT nullOnEven(java_addOne_Integer(1));
SELECT nullOnEven(java_addOne_Integer(2));
SELECT nullOnEven(java_addOne_Integer(java_addOne_Integer(java_addOne_Integer(java_addOne_Integer(java_addOne_Integer(1))))));


CREATE FUNCTION oldstyle_length(int4, text)
	RETURNS int4
	AS '@libdir@/regress@DLSUFFIX@'
	LANGUAGE C;

SELECT nullOnEven(oldstyle_length(10, 'abc'));
SELECT nullOnEven(java_addOne_Integer(oldstyle_length(10, 'abc')));
SELECT oldstyle_length(java_addOne_Integer(9), 'abc');
SET FencedUDFMemoryLimit='200MB';
SET pljava_vmoptions='-Xmx10M -Xmx10m -Xmx10K -Xmx10k -Xmx10G -Xmx10g -Dhadoop.home.dir=/data1 -Dtest9=9 -Dtest10=10 -Dtest11=11 "\\a';
SELECT java_addOne_Integer(oldstyle_length(java_addOne_Integer(9), 'abc'));

DROP FUNCTION java_addOne_Integer;
DROP FUNCTION nullOnEven;
DROP FUNCTION oldstyle_length;

ROLLBACK;

-- test: JDK system properties
-- Result should be consistant with your $GAUSSHOME/lib/postgresql/java
CREATE FUNCTION java_getSystemProperty(VARCHAR)
	RETURNS VARCHAR
	AS 'java.lang.System.getProperty'
	LANGUAGE java;
--SELECT java_getSystemProperty('javaudf.file.path');
DROP FUNCTION java_getSystemProperty(VARCHAR);