Product: Aqua Data Studio
Version: 17.0.0-dev-68
Build #: 44582
Build Date: 2015-Jul-01 06:18:01 PM
Operating Environment: Linux (3.13.0-55-generic, amd64) / UTF-8 / en / IN / Oracle Corporation 1.7.0_60-b19
Memory: Max=704,643,072; Total=233,832,448; Free=28,879,992; CPUs=8
Steps to Reproduce :
1. Connect to Apache Derby database.
2. Create following two functions :
CREATE FUNCTION "regression"."func1"("RADIANS" DOUBLE)
RETURNS DOUBLE
LANGUAGE JAVA
EXTERNAL NAME 'java.lang.Math.toDegrees'
PARAMETER STYLE JAVA
NO SQL
CALLED ON NULL INPUT
GO
CREATE FUNCTION "regression"."func2"("RADIANS" DOUBLE)
RETURNS DOUBLE
LANGUAGE JAVA
EXTERNAL NAME 'java.lang.Math.toDegrees'
PARAMETER STYLE JAVA
NO SQL
CALLED ON NULL INPUT
GO
3. Drop one function using following script :
DROP FUNCTION "regression"."func1"
GO
4. Now Multiselect two created functions (func1, func2) from tree node without refreshing. Right click on it and select "Script window to Object as -> CREATE" option. Click on Ok button in Script create window object.
>>It gives following exception in view log:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
Expected result :
It should display the message "Func1 function not found" instead of exception or it should display Null in query analyzer window.
Observations :
1. For procedurre it throws same exception.
1. For synonyms, triggers it throws java.lang.NullPointerException in view log.
2. For table and views it throws NPE along with message "Table not found in system catalog!"
3. For deleted index it displays Null in query analyzer window.
Stack Trace :
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1911)
at \\.\\.\\हिñçêČάй語简�?한\\.Kᚺꐨꆒꆺ native.g(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Kᚺꐨꆒꆺ native.o(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Xꐇ⡹ꒇꐿ native void.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Xꐇ⡹ꒇꐿ native void.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Xꐇ⡹ꒇꐿ native void.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Gꃞꅫꄁꋶ try.f(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Gꆐꃻꈐ̸ byte.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Gꃞꅫꄁꋶ try.YO(Unknown Source)
at com.common.ui.util.y̵ꋾꊵ̃$2.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
Same issues is observed in Azure as well but it throws null pointer exception.