Product: Aqua Data Studio
Version: 17.0.0-ga-12
Build #: 47968
Build Date: 2015-Dec-23 04:12:39 PM
Operating Environment: Windows 8.1 (6.3, amd64) / Cp1252 / en / IN / Oracle Corporation 1.8.0_40-b26
Memory: Max=4,433,379,328; Total=921,698,304; Free=438,674,568; CPUs=8
Steps to Reproduce:
1)Connect to 'Sybase IQ' database
2)In query Analyzer of 'Syabase IQ' run below query to create user/schema
GRANT CONNECT TO sample IDENTIFIED BY 'test123'
GO
3)Now go to treenode and right click on 'Table' folder and select option 'Create Table'
4)In 'General' tab give name 'test' to table
5)Give column name 't1'
6)Go to 'Constraints' tab
->Give Name 'fk' to constraint
->Select type 'Foreign key' from drop down
->In 'Ref Schema' dropdown select schema 'sample' (schema which got created at step 2 but it has no tables)
7)Click on 'Ref Table' drop down
Actual Result:
-> java.lang.NullPointerException occured and we are not able to close 'Create Table' tab
Observation:
->Issue is reproducible only when there are no tables in schema and we select that schema in 'Ref Schema' dropdown
->Issue is also reproducible with Alter Table (Alter table and select 'Ref Schema' with no table in constraints tab )
->Issue is reproducible in 'Sybase IQ 16' and in'Sybase Anywhere 16' as well
->Not reproducible in 'Sybase ASE'
->Checked other few databases Postgres,Orcle 12c,Amazon Redshift but issue is not reproducible for this databases
->Issue is reproducible in all V-16 builds.
->Checked "Aqua Data Studio 15.0.16-2" issue is reproducible in V-15 as well
Refer screenshot "ref_schema.png"
java.lang.NullPointerException
at \\.\\.\\हिñçêČάй語简�?한\\.nꎍ᜴ꉅꌅtrycase.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.nꎍ᜴ꉅꌅtrycase.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.nꎍ᜴ꉅꌅtrycase.b(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Aꋔᠹꌾᢎ.setValueAt(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Kꇨꈨᜤꁆassert.setValueAt(Unknown Source)
at com.jidesoft.grid.TableModelWrapperImpl.setValueAt(Unknown Source)
at com.jidesoft.grid.DefaultTableModelWrapper.setValueAt(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Uꎫꄩꑖ⠑.setValueAt(Unknown Source)
at javax.swing.JTable.setValueAt(Unknown Source)
at com.jidesoft.grid.JideTable.editingStopped(Unknown Source)
at javax.swing.AbstractCellEditor.fireEditingStopped(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.j⡴ꌇꆪꆄfinal.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.gꈸꈒ⡲ꀀreturn.stopCellEditing(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.j⡴ꌇꆪꆄfinal$2.stopCellEditing(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.j⡴ꌇꆪꆄfinal.stopCellEditing(Unknown Source)
at com.jidesoft.grid.JideTable.editCellAt(Unknown Source)
at com.jidesoft.grid.CellSpanTable.editCellAt(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleasedDND(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(Unknown Source)
at com.jidesoft.swing.DelegateMouseInputListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
@ivan: can you fix this NPE in ADS v17 and v18 ? I am able to reproduce the issue with ADS v18-alpha-7. Check or Foreign key constraints gives NPE