---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));
 nulloneven 
------------
           
(1 row)

SELECT nullOnEven(java_addOne_Integer(2));
 nulloneven 
------------
          3
(1 row)

SELECT nullOnEven(java_addOne_Integer(java_addOne_Integer(java_addOne_Integer(java_addOne_Integer(java_addOne_Integer(1))))));
 nulloneven 
------------
           
(1 row)

CREATE FUNCTION oldstyle_length(int4, text)
	RETURNS int4
	AS '@libdir@/regress@DLSUFFIX@'
	LANGUAGE C;
SELECT nullOnEven(oldstyle_length(10, 'abc'));
 nulloneven 
------------
         13
(1 row)

SELECT nullOnEven(java_addOne_Integer(oldstyle_length(10, 'abc')));
 nulloneven 
------------
           
(1 row)

SELECT oldstyle_length(java_addOne_Integer(9), 'abc');
 oldstyle_length 
-----------------
              13
(1 row)

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'));
 java_addone_integer 
---------------------
                  14
(1 row)

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);