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
This commit is contained in:
parent
e050b11c3a
commit
27f3b27c34
@ -2340,8 +2340,15 @@ int TSortedfile::read(TRectype& rec, word op , word lockop )
|
||||
// @mfunc Legge il record alla posizione <p nrec> e lo copia in <p rec> (vedi <t TReclock>)
|
||||
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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user