× Heads up!

Aqua Data Studio / nhilam

Follow
IDE for Relational Databases
×
tomconrad reported 2017-03-03T17:39:24Z  · nhilam last modified 2018-03-09T18:36:19Z

Follow up investigation for issue #15051


Priority Minor
Complexity Unknown
Component Tools - Compare - Schema
Version Future - PM

Issue #15051 was resolved in V18 by shutting off the transfer handler to disable Ctrl-C.  There is concern that perhaps there is an underlying problem which caused the initial exception.  From Fung's comments:

@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.

Issue #15057

New
 
 
Completion
No due date
No fixed build
No time estimate

About AquaClusters Privacy Policy Support Version - 19.0.2-4 AquaFold, Inc Copyright © 2007-2017