close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 17 years ago

Closed 17 years ago

#520 closed defect (fixed)

Error handling with series loaded from OIS

Reported by: Víctor de Buen Remiro Owned by: Víctor de Buen Remiro
Priority: highest Milestone:
Component: Various Version: 1.1.5
Severity: major Keywords:
Cc: lmartiles

Description

If you loads a Monthly time serie from an OIS with a wider default dates than used at OIS creation time, the dating, that is also stored in the OIS image, seems to be bounded by default dates at creating time and could cause some problems.

For example, you can store a Serie ser in an OIS "ser.oza" whith default dates as the interval [y1993m03d01, y2008m02d28]. Then, if you run this code in a new TOL session

Date PutDefaultDates(y1990, y2010);
Set Ois.Load("ser.oza")[1];
Serie ceroM = CalInd(W,Monthly);
Date iniDate = y2000m03d01;
Date finalDate = y2009m08d01;
Serie ser;
Serie trSer = SubSer(ser,iniDate,finalDate);
Serie catSer = SubSer(ceroM << trSer >> ceroM,iniDate,finalDate);

TOL will send this bizarre and unintelligible error message

ERROR: [1] Cannot concat series with incompatible dating or without dating.
Series:
ceroM -> Monthly;
trSer -> Monthly;

and catSer will be covered with unknown values.

Attachments (1)

ser.oza (3.6 KB) - added by Víctor de Buen Remiro 17 years ago.
The OIS to be used to reproduce the bug

Download all attachments as: .zip

Change History (5)

Changed 17 years ago by Víctor de Buen Remiro

Attachment: ser.oza added

The OIS to be used to reproduce the bug

comment:1 Changed 17 years ago by Víctor de Buen Remiro

bug_file_loc: http://cvs.tol-project.org/viewcvs.cgi/tol_tests/tol/Bugzilla/bug_000520
Resolution: remind
Status: newclosed

When a referenceable object exist already with the same name of an object inside an OIS image, the older object will be used instead of OIS one.

Problem has been fixed in CVS and experimental windows binary version (1.1.7) but it's an experimental feature and could be eliminated later if there are unexpected secondary effects.

A new test has been added to CVS on trunk and 1.1.6 branch

comment:2 Changed 17 years ago by Víctor de Buen Remiro

Cc: lmartiles added

comment:3 Changed 17 years ago by Víctor de Buen Remiro

Resolution: remind
Status: closedreopened

comment:4 Changed 17 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: reopenedclosed

In order to maintain backward compatibility, a new optional argument oisHasPriorityOnConflict has been added to function Ois.Load

When you want to avoid problems as described in this bug, you can use a sentence like this one:

Set Ois.Load("ser.oza", Empty,
{

options = Real oisHasPriorityOnConflict = False ?

})[1];

Default value is Real oisHasPriorityOnConflict = True and will work wrong in this case.

Problem has been solved in CVS for both TOL versions 1.1.6 and 1.1.7
Next binary versions will have this new feature.

Note: See TracTickets for help on using tickets.