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)
Change History (5)
Changed 17 years ago by
comment:1 Changed 17 years ago by
bug_file_loc: | → http://cvs.tol-project.org/viewcvs.cgi/tol_tests/tol/Bugzilla/bug_000520 |
---|---|
Resolution: | → remind |
Status: | new → closed |
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
Cc: | lmartiles added |
---|
comment:3 Changed 17 years ago by
Resolution: | remind |
---|---|
Status: | closed → reopened |
comment:4 Changed 17 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
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.
The OIS to be used to reproduce the bug