diff --git a/include/relation.cpp b/include/relation.cpp index d7927ef13..1fa4791aa 100755 --- a/include/relation.cpp +++ b/include/relation.cpp @@ -1905,18 +1905,18 @@ int TRecord_array::rec2row(const TRectype& r) const int TRecord_array::insert_row(TRectype* r) { const int nr = rec2row(*r); - CHECK(nr, "You cannot insert a new key"); + CHECK(nr > 0, "You cannot insert a new key"); const bool shift = exist(nr); insert(r, nr); - if (shift) // Se ho cambiato il record campione - { // e ci sono altre righe ... - for (int f = last(); f > nr; f--) + if (shift) + { + for (int f = last(); f > nr; f = pred(f)) { char n[16]; TRectype & rec = row(f, FALSE); sprintf(n, "%ld", (long)_offset + f); - rec.put(_num, n); + renum_key(_num, n); } } return nr;