Rinominata madekey in put_headkey e tolta la ridefinizione virtuale di

commi body per l'albero saldi


git-svn-id: svn://10.65.10.50/trunk@5974 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
augusto 1998-01-19 16:19:12 +00:00
parent ad349496a0
commit 553b5799ea
2 changed files with 21 additions and 16 deletions

View File

@ -129,6 +129,7 @@ void TABsaldo::put_headkey(TRectype &rec) const
rec.put(ABMD_CODCBL, get(ABS_CODCBL));
}
/*
int TABsaldo::commit_body() const
{
_inter_tree->write_cache();
@ -182,7 +183,7 @@ int TABsaldo::commit_body() const
}
return NOERR;
}
*/
//Leggo il "corpo" del record
int TABsaldo::read_body(bool lockstruct)
{
@ -510,6 +511,16 @@ TLocal_balance3::TLocal_balance3() :
TLocal_balance3::~TLocal_balance3()
{}
void TLocal_balance3::put_headkey(TRectype & node)
{
TToken_string s(get_headkey());
node.put(ABMD_CODDITTA,s.get());
node.put(ABMD_ANNO,s.get());
node.put(ABMD_CODPDB,s.get());
node.put(ABMD_TIPOBIL,s.get());
node.put(ABMD_CODCBL,s.get());
}
/**************************************************************************************************/
// TAlbero_locale
@ -641,6 +652,7 @@ TNumeric_id &TAlbero_locale::new_id(TNumeric_id id)
//di relana aggiornando tutti i link
bool TAlbero_locale::insert_node(TRectype & node,const TNumeric_id id_prec, const TNumeric_id id_padre, TNumeric_id id)
{
const int dirty_value=NODO_MODIFICATO;
TNumeric_id id_succ;
TToken_string key;
key=get_headkey();
@ -656,7 +668,7 @@ bool TAlbero_locale::insert_node(TRectype & node,const TNumeric_id id_prec, cons
parente = _local_cache->get(key);
parente.put(idsucc_fieldname(),id.string());
_local_cache->put(parente);
set_status_node(id_prec,NODO_MODIFICATO); //Setto l'eventuale flag di array modificato per il fratello
set_status_node(id_prec,dirty_value); //Setto l'eventuale flag di array modificato per il fratello
}
else
{ //Se non ho il mio precedente, allora o sono una radice principale o divento il primo figlio:
@ -666,12 +678,12 @@ bool TAlbero_locale::insert_node(TRectype & node,const TNumeric_id id_prec, cons
parente = _local_cache->get(key);
parente.put(idson_fieldname(),id.string());
_local_cache->put(parente);
set_status_node(id_padre,NODO_MODIFICATO); //Setto l'eventuale flag di array modificato per il padre
set_status_node(id_padre,dirty_value); //Setto l'eventuale flag di array modificato per il padre
} // Sono una radice principale e quindi sono orfana di padre
}
//Ora aggiorno me stesso
madekey(node);
put_headkey(node);
// node.put(ABRA_CODAN,get_headkey()); //Eseguo un combio della chiave: non serve avere il codice della tabella nella cache
node.put(idprec_fieldname(),id_prec.string());
node.put(idfather_fieldname(),id_padre.string());
@ -680,7 +692,7 @@ bool TAlbero_locale::insert_node(TRectype & node,const TNumeric_id id_prec, cons
_local_cache->put(node);
//set_current(node);
goto_node(node);
set_status_node(id,NODO_MODIFICATO);
set_status_node(id,dirty_value);
return TRUE;
}

View File

@ -283,7 +283,7 @@ class TAlbero_locale : public TAlbero_bidir
void goto_node(const TNumeric_id id);
void goto_node(TRectype &node) {*_currnode = node;}
virtual void madekey(TRectype &) pure;
virtual void put_headkey(TRectype &) pure;
virtual const char * idfather_fieldname() pure ;
virtual const char * idson_fieldname() pure;
virtual const char * idsucc_fieldname() pure;
@ -340,13 +340,13 @@ class TLocal_relana3 : public TAlbero_locale
{
protected:
virtual void madekey(TRectype & node) {node.put(ABRA_CODAN,get_headkey());}
virtual const char * idfather_fieldname() {return ABRA_IDPADRE;}
virtual const char * idson_fieldname(){return ABRA_IDFIGLIO;}
virtual const char * idsucc_fieldname(){return ABRA_IDSUCC;}
virtual const char * idprec_fieldname(){return ABRA_IDPREC;}
virtual const char * id_fieldname(){return ABRA_ID;}
virtual const char * get_headkey() {return " ";}
virtual void put_headkey(TRectype & node) {node.put(ABRA_CODAN,get_headkey());}
public:
@ -360,20 +360,13 @@ protected:
class TLocal_balance3 : public TAlbero_locale
{
protected:
virtual void madekey(TRectype & node)
{
node.put(ABMD_CODDITTA," ");
node.put(ABMD_ANNO," ");
node.put(ABMD_CODPDB," ");
node.put(ABMD_TIPOBIL," ");
node.put(ABMD_CODCBL," ");
}
virtual const char * idfather_fieldname() {return ABMD_IDPADRE;}
virtual const char * idson_fieldname(){return ABMD_IDFIGLIO;}
virtual const char * idsucc_fieldname(){return ABMD_IDSUCC;}
virtual const char * idprec_fieldname(){return ABMD_IDPREC;}
virtual const char * id_fieldname(){return ABMD_ID;}
virtual const char * get_headkey() {return " | | | | ";}
virtual void put_headkey(TRectype & node) ;
public:
@ -471,7 +464,7 @@ class TABsaldo: public TAlbero_AB
TRectype * _newrec; //buffer per l'inserimento dodo per nodo
protected:
// @cmember Esegue la scrittura del body del record scrive il contenuto di una tabella di analisi
virtual int commit_body() const;
//virtual int commit_body() const;
// @cmember Esegue la lettura del body del rocord: legge il contenuto di una tabella di analisi
virtual int read_body(bool lockstruct);
// @cmember Copia la chiave sul record dei nodi dell'albero