From 27f3b27c34ae3902fba4a42a07da5047be97b7e1 Mon Sep 17 00:00:00 2001 From: augusto Date: Fri, 27 Jun 1997 14:20:46 +0000 Subject: [PATCH] Rilevato errore di uso dei tsorted file quando usati come file principale dei cursori git-svn-id: svn://10.65.10.50/trunk@4773 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/relation.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/include/relation.cpp b/include/relation.cpp index 0bbdf9226..1545314aa 100755 --- a/include/relation.cpp +++ b/include/relation.cpp @@ -2340,8 +2340,15 @@ int TSortedfile::read(TRectype& rec, word op , word lockop ) // @mfunc Legge il record alla posizione

e lo copia in

(vedi ) int TSortedfile::readat(TRectype& rec, TRecnotype nrec, word lockop ) { + // read(rec,_isequal,lockop); + // !!!!!!!!!!!!!! attenzione !!!!!!!!!!!!!! + // non usare un sorted file come file principale di un sorted cursor; + // portare invece le espressioni del sorted file a livello di cursore + // altrimenti questa readat non sempre funziona , perche' viene chiamata con + // parametri presi dalle funzioni a basso livello sugli isam, quindi relativi alle posizioni fisiche + // e non a quanto restituito da recno() (che da' la posizione all'interno del cursore) *_curs=nrec; - //read(_isequal,lockop); + rec=curr(); setstatus(_curs->file().status()); return status(); @@ -2421,8 +2428,8 @@ bool TSortedfile::empty() void TSortedfile::set_curr(TRectype * curr) { - TLocalisamfile::set_curr(curr); - _curs->file().set_curr(curr); + TLocalisamfile::set_curr(curr); + _curs->file().set_curr(curr); } // @mfunc Costruttore. @@ -2439,8 +2446,8 @@ TSortedfile::TSortedfile(int logicnum,TRelation * rel,const char * ordexpr,const _curs = new TSorted_cursor(_rel,ordexpr,filter,nkey); _curs->setfilter(filter,TRUE); //BUG: cursors doesn't update rel. - if (&curr()!=&(_curs->file().curr())) - _curs->file().set_curr(&curr()); + if (&curr()!=&(_curs->file().curr())) + _curs->file().set_curr(&curr()); } // @mfunc Distruttore TSortedfile::~TSortedfile()