Operation Systems | |||
ADS Versions | Windows | Linux | MAC |
V18.0.1-5 | Y | Y | Y |
![]() |
4 KB
|
264 KB
![]() |
2 KB
Preview-46 is the broken build.
Does not happen with Schema Synchronization but does happen with Schema Compare
Hi Fung, I attached a patch to fix the issue. I disabled the transfer handler since it is not useful to copy unformatted table content to the clipboard. Should we desire this feature, we should add a button like the other panels to explicitly copy formatted data to the clipboard. Please have a look. Thanks, Tom
Hi Fung, I attached a patch to fix the issue. I disabled the transfer handler since it is not useful to copy unformatted table content to the clipboard. Should we desire this feature, we should add a button like the other panels to explicitly copy formatted data to the clipboard. Please have a look. Thanks, Tom
@tomconrad:
Hi Fung, I attached a patch to fix the issue. I disabled the transfer handler since it is not useful to copy unformatted table content to the clipboard. Should we desire this feature, we should add a button like the other panels to explicitly copy formatted data to the clipboard. Please have a look. Thanks, Tom
I did not try your patch. By looking into your patch, it might resolve the problem by disabling data transfer handler but it does not seem to address the root cause of the problem.
The root cause of the problem is: there is a java.lang.ArrayIndexOutOfBoundsException exception has been thrown which usually indicates some object is not implemented correctly.
I briefly debugged the problem by setting a break point at line #264 in CTreeTableScrollPane
#261 for (int col = 0; col < cols.length; col++) { #262 // #710 HACK #263 // data comes from both tables #264 Object obj = getTableValueAt(rows[row], cols[col]);
This break point will be reached by either "Schema Compare/Schema Compare Results/Group by: Type of difference" or "Schema Synchronization/Schema Compare Results/Group by: Type of difference" when CTRL-C is pressed.
If you examine the cols
variable when break point is hit, you will see the length of cols
variable is 7 in both "Schema Compare" case and "Schema Synchronization" case. In UI, "Schema Synchronization/Schema Compare Reuslts" table contains 7 columns which match the length of cols
variable; however, "Schema Compare/Schema Compare Results" table only contains 6 columns which is 1 less than the length of cols
variable. Hence, in the for loop iterations, the last iteration will throw an index-out-of-bounds exception for "Schema Compare" but not "Schema Synchronization". I did not spend much time on this and my study could be wrong. You might want to take a look at this and corresponding objects created by Schema Compare.
@tomconrad:
Hi Fung, I attached a patch to fix the issue. I disabled the transfer handler since it is not useful to copy unformatted table content to the clipboard. Should we desire this feature, we should add a button like the other panels to explicitly copy formatted data to the clipboard. Please have a look. Thanks, Tom
I did not try your patch. By looking into your patch, it might resolve the problem by disabling data transfer handler but it does not seem to address the root cause of the problem.
The root cause of the problem is: there is a java.lang.ArrayIndexOutOfBoundsException exception has been thrown which usually indicates some object is not implemented correctly.
I briefly debugged the problem by setting a break point at line #264 in CTreeTableScrollPane
#261 for (int col = 0; col < cols.length; col++) { #262 // #710 HACK #263 // data comes from both tables #264 Object obj = getTableValueAt(rows[row], cols[col]);
This break point will be reached by either "Schema Compare/Schema Compare Results/Group by: Type of difference" or "Schema Synchronization/Schema Compare Results/Group by: Type of difference" when CTRL-C is pressed.
If you examine the cols
variable when break point is hit, you will see the length of cols
variable is 7 in both "Schema Compare" case and "Schema Synchronization" case. In UI, "Schema Synchronization/Schema Compare Reuslts" table contains 7 columns which match the length of cols
variable; however, "Schema Compare/Schema Compare Results" table only contains 6 columns which is 1 less than the length of cols
variable. Hence, in the for loop iterations, the last iteration will throw an index-out-of-bounds exception for "Schema Compare" but not "Schema Synchronization". I did not spend much time on this and my study could be wrong. You might want to take a look at this and corresponding objects created by Schema Compare.
svn #53451 - I shut off the transfer handler to disable Ctrl-C - copy to the clipboard for the no group and diff panels. This is low cost and will minimize breakage. Additionally, copying un-formatted data from the panel to the clipboard has no value. That said, I will open up a V19 issue to follow up with Fung's valid concern about the underlying cause of the exception.
svn #53451 - I shut off the transfer handler to disable Ctrl-C - copy to the clipboard for the no group and diff panels. This is low cost and will minimize breakage. Additionally, copying un-formatted data from the panel to the clipboard has no value. That said, I will open up a V19 issue to follow up with Fung's valid concern about the underlying cause of the exception.
Issue #15051 |
Closed |
Fixed |
Resolved |
Completion |
No due date |
Fixed Build ADS 18.0.1-10 |
No time estimate |
1 issue link |
relates to #15057
Issue #15057Follow up investigation for issue #15051 |
Preview-46 is the broken build.
Does not happen with Schema Synchronization but does happen with Schema Compare