Patch level : 12.0 nopatch

Files correlati     :

Aggiunti metodi di lettura e scrittura senza localisamfile ai record
This commit is contained in:
Alessandro Bonazzi 2021-03-18 17:48:44 +01:00
parent 6cd77c4e4d
commit e07567c8b8
2 changed files with 98 additions and 0 deletions

View File

@ -3913,6 +3913,83 @@ int TRectype::remove(TBaseisamfile& f) const
return f._remove(*this);
}
int TRectype::read(word op, word lockop)
{
TLocalisamfile f(num());
return read(f, op, lockop);
}
int TRectype::readat(TRecnotype nrec, word lockop)
{
TLocalisamfile f(num());
return readat(f, nrec);
}
int TRectype::next(word lockop)
{
TLocalisamfile f(num());
return next(f, lockop);
}
int TRectype::prev(word lockop)
{
TLocalisamfile f(num());
return prev(f, lockop);
}
int TRectype::first(word lockop)
{
TLocalisamfile f(num());
return first(f, lockop);
}
int TRectype::last(word lockop)
{
TLocalisamfile f(num());
return last(f, lockop);
}
int TRectype::write() const
{
TLocalisamfile f(num());
return write(f);
}
int TRectype::rewrite() const
{
TLocalisamfile f(num());
return rewrite(f);
}
int TRectype::write_rewrite() const
{
TLocalisamfile f(num());
return write_rewrite(f);
}
int TRectype::rewrite_write() const
{
TLocalisamfile f(num());
return rewrite_write(f);
}
int TRectype::remove() const
{
TLocalisamfile f(num());
return remove(f);
}
void TRectype::renum_key(const char* field, const char* val)
{
if (strchr(field, '[') != NULL) // Accept CODTAB[6,10]

View File

@ -131,6 +131,27 @@ public:
virtual int rewrite_write(TBaseisamfile& f) const;
// @cmember Elimina il record dal file
virtual int remove(TBaseisamfile& f) const;
// @cmember Legge il record
int read(word op = _isequal, word lockop = _nolock);
// @cmember Legge il record alla posizione desiderata
int readat(TRecnotype nrec, word lockop = _nolock);
// @cmember Legge il prossimo record
/* virtual*/ int next(word lockop = _nolock);
int prev( word lockop = _nolock);
int first(word lockop = _nolock);
int last(word lockop = _nolock);
// @cmember Aggiunge il record al file
int write() const;
// @cmember Riscrive il record sul file
int rewrite() const;
// @cmember Aggiunge/Aggiorna il record
int write_rewrite() const;
// @cmember Aggiorna/Aggiunge il record
int rewrite_write() const;
// @cmember Elimina il record dal file
int remove() const;
// @cmember Cambia il campo <p field> della chiave principale con il valore <p val>
virtual void renum_key(const char* field, const char* val);