Community
Participate
Working Groups
When starting a SP for debugging workspace opens up a dialog where you can enter values for the SP's parameters. It would be good if this list would be sortable. But in org.eclipse.datatools.sqltools.editor.core\src\org\eclipse\datatools\sqltools\core\dbitem\ParametersData.java. The return value of getRows() of ParametersData is always a new instance but not the _rows defined by its super class. The flaw causes the value used in AccessibleTableViewer for sorting will be wrong.
Please look into this and see if we can enhance it for 1.6.1. Thanks.
Jue, please attach the patch to this bug now that it was fixed in our interanl dtp.
Created attachment 108033 [details] patch
Comment on attachment 108033 [details] patch ### Eclipse Workspace Patch 1.0 #P org.eclipse.datatools.sqltools.editor.core Index: src/org/eclipse/datatools/sqltools/core/dbitem/ParametersData.java =================================================================== RCS file: /cvsroot/datatools/org.eclipse.datatools.sqltools/plugins/org.eclipse.datatools.sqltools.editor.core/src/org/eclipse/datatools/sqltools/core/dbitem/ParametersData.java,v retrieving revision 1.1 diff -u -r1.1 ParametersData.java --- src/org/eclipse/datatools/sqltools/core/dbitem/ParametersData.java 14 Sep 2006 06:24:29 -0000 1.1 +++ src/org/eclipse/datatools/sqltools/core/dbitem/ParametersData.java 22 Jul 2008 08:11:24 -0000 @@ -36,6 +36,36 @@ { super(); _wrappers = wrappers; + //for CR499556-1 + buildRows(); + } + + private void buildRows() { + for (int i = 0; i < _wrappers.length; i++) + { + Object[] rowData = new Object[getColumnCount()]; + ParameterDescriptor pd = _wrappers[i].getParameterDescriptor(); + rowData[ParametersData.NAME_COLUMN] = pd != null ? pd.getName() : ""; + String typeName = ""; + if (pd != null) + { + if (pd.getSqlTypeNameFromParser() != null) + { + typeName = pd.getSqlTypeNameFromParser(); + } + else + { + typeName = pd.getTypeName(); + } + } + rowData[ParametersData.TYPE_COLUMN] = typeName; + rowData[ParametersData.NULL_COLUMN] = _wrappers[i].isNull() ? "true" : "false"; + rowData[ParametersData.VALUE_COLUMN] = _wrappers[i].getValue(); + rowData[ParametersData.INOUT_COLUMN] = pd != null ? pd.getParamTypeAsString() : ""; + _wrappers[i].setData(rowData); + _wrappers[i].setTableData(this); + _rows.add(_wrappers[i]); + } } public boolean isReadonly() @@ -69,33 +99,7 @@ public Vector getRows() { - Vector rows = new Vector(); - for (int i = 0; i < _wrappers.length; i++) - { - Object[] rowData = new Object[getColumnCount()]; - ParameterDescriptor pd = _wrappers[i].getParameterDescriptor(); - rowData[ParametersData.NAME_COLUMN] = pd != null ? pd.getName() : ""; - String typeName = ""; - if (pd != null) - { - if (pd.getSqlTypeNameFromParser() != null) - { - typeName = pd.getSqlTypeNameFromParser(); - } - else - { - typeName = pd.getTypeName(); - } - } - rowData[ParametersData.TYPE_COLUMN] = typeName; - rowData[ParametersData.NULL_COLUMN] = _wrappers[i].isNull() ? "true" : "false"; - rowData[ParametersData.VALUE_COLUMN] = _wrappers[i].getValue(); - rowData[ParametersData.INOUT_COLUMN] = pd != null ? pd.getParamTypeAsString() : ""; - _wrappers[i].setData(rowData); - _wrappers[i].setTableData(this); - rows.add(_wrappers[i]); - } - return rows; + return _rows; } public boolean save() throws Exception
Moved to 1.6.2
Patch already applied. Closing.