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)); rec.put(ABMD_CODCBL, get(ABS_CODCBL));
} }
/*
int TABsaldo::commit_body() const int TABsaldo::commit_body() const
{ {
_inter_tree->write_cache(); _inter_tree->write_cache();
@ -182,7 +183,7 @@ int TABsaldo::commit_body() const
} }
return NOERR; return NOERR;
} }
*/
//Leggo il "corpo" del record //Leggo il "corpo" del record
int TABsaldo::read_body(bool lockstruct) int TABsaldo::read_body(bool lockstruct)
{ {
@ -510,6 +511,16 @@ TLocal_balance3::TLocal_balance3() :
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 // TAlbero_locale
@ -641,6 +652,7 @@ TNumeric_id &TAlbero_locale::new_id(TNumeric_id id)
//di relana aggiornando tutti i link //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) 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; TNumeric_id id_succ;
TToken_string key; TToken_string key;
key=get_headkey(); 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 = _local_cache->get(key);
parente.put(idsucc_fieldname(),id.string()); parente.put(idsucc_fieldname(),id.string());
_local_cache->put(parente); _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 else
{ //Se non ho il mio precedente, allora o sono una radice principale o divento il primo figlio: { //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 = _local_cache->get(key);
parente.put(idson_fieldname(),id.string()); parente.put(idson_fieldname(),id.string());
_local_cache->put(parente); _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 } // Sono una radice principale e quindi sono orfana di padre
} }
//Ora aggiorno me stesso //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(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(idprec_fieldname(),id_prec.string());
node.put(idfather_fieldname(),id_padre.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); _local_cache->put(node);
//set_current(node); //set_current(node);
goto_node(node); goto_node(node);
set_status_node(id,NODO_MODIFICATO); set_status_node(id,dirty_value);
return TRUE; return TRUE;
} }

View File

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