PR# 13451 Views of class with long lines are blank or garbage
Problem Report Summary
Submitter: prestoat2000
Category: EiffelStudio
Priority: Medium
Date: 2007/10/15
Class: Bug
Severity: Serious
Number: 13451
Release: 6.0.69618
Confidential: No
Status: Open
Responsible:
Environment: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.8.0.7) Gecko/20060915 Firefox/1.5.0.7
Solaris 9 on SPARC
Synopsis: Views of class with long lines are blank or garbage
Description
I just ran into a problem with classes with long lines on a real system. We have some classes that are generated automatically by a program from definitions of tables in our Oracle database. This can generate very long lines, such as a string constant that is a comma-separated list of all column names to be fetched when a row is retrieved from the table. In one case, the value of the string constant is 2048 characters long. This class also has comparison routines that compare column by column with another row, so it generates things like: Result := Result and equal (acct_pricing_class, r.acct_pricing_class) and equal (acct_sponsor_id, r.acct_sponsor_id); (with a large number of "and" clauses - one per column). When I try to see the exported routines of this class in the Class tool, I get either a blank window or garbage. Trying to see other views of this same class either works or shows wrong data (the data from a previous view) or shows a garbled display. Please see whether you can fix this bug. It may be a Vision2 problem. Using GTK+2.6.9 on Solaris SPARC under CDE. It is annoying to be unable to examine real classes in estudio and I think it might mess up the tool for displaying other classes which do not have long lines.
To Reproduce
Compile with attached classes and .ecf file. Try to see Exported features of class DIE_LOCATIONS_ROW. Shows empty or garbled display. Now comment out declaration of constant `real_column_names' in DIE_LOCATIONS_ROW. Exported routines now display correctly (at least if I compile system from scratch). Note that DIE_LOCATIONS_ROW is a simplified version of a real program-generated Eiffel class that is used in our production system.
Problem Report Interactions
Attachments for problem report #13451