#include <generaldata.h>
Collaboration diagram for Database::PrimaryIterator< T >:
Public Member Functions | |
PrimaryIterator (TrapperDoc *doc, string generalDataType, DbTxn *txnid=NULL) | |
~PrimaryIterator () | |
int | first () |
int | next () |
int | get (u_int32_t flags, Dbt &primary_key) |
T * | key () |
T * | answer () |
int | delCurrent () |
int | setFromRecno (db_recno_t recno) |
Protected Member Functions | |
void | fillSecondaryDataDbt (Dbt &secondaryKey, const Dbt &primaryData) |
Protected Attributes | |
T * | m_GeneralData_key |
T * | m_GeneralData_answer |
Dbc * | m_cursor |
Db * | m_db |
std::string | name |
Definition at line 482 of file generaldata.h.
Database::PrimaryIterator< T >::PrimaryIterator | ( | TrapperDoc * | doc, | |
string | generalDataType, | |||
DbTxn * | txnid = NULL | |||
) |
Definition at line 507 of file generaldata.h.
References TrapperDoc::findTrDb(), Database::PrimaryIterator< T >::m_cursor, Database::PrimaryIterator< T >::m_db, Database::PrimaryIterator< T >::m_GeneralData_answer, Database::PrimaryIterator< T >::m_GeneralData_key, GeneralMaker::newData(), and TrDb::primaryDb().
00508 { 00509 m_GeneralData_key = dynamic_cast< T * >(GeneralMaker::newData( generalDataType )); 00510 m_GeneralData_answer = dynamic_cast< T * >(GeneralMaker::newData( generalDataType )); 00511 m_db = doc->findTrDb( generalDataType )->primaryDb(); 00512 Q_CHECK_PTR(m_GeneralData_key); 00513 Q_CHECK_PTR(m_GeneralData_answer); 00514 m_db->cursor( txnid , &m_cursor, 0 ); 00515 }
Database::PrimaryIterator< T >::~PrimaryIterator | ( | ) |
Definition at line 518 of file generaldata.h.
References Database::PrimaryIterator< T >::m_cursor, Database::PrimaryIterator< T >::m_GeneralData_answer, and Database::PrimaryIterator< T >::m_GeneralData_key.
00519 { 00520 m_cursor->close(); 00521 if ( m_GeneralData_key ) 00522 { 00523 delete m_GeneralData_key; 00524 m_GeneralData_key = NULL; 00525 } 00526 if ( m_GeneralData_answer ) 00527 { 00528 delete m_GeneralData_answer; 00529 m_GeneralData_answer = NULL; 00530 } 00531 }
int Database::PrimaryIterator< T >::first | ( | ) |
Definition at line 545 of file generaldata.h.
References Database::PrimaryIterator< T >::get(), and Database::PrimaryIterator< T >::key().
Referenced by TrapperDoc::saveExport(), and TrapperView::selectAll().
int Database::PrimaryIterator< T >::next | ( | ) |
Definition at line 584 of file generaldata.h.
References Database::PrimaryIterator< T >::get(), and Database::PrimaryIterator< T >::key().
Referenced by TrapperDoc::saveExport(), and TrapperView::selectAll().
int Database::PrimaryIterator< T >::get | ( | u_int32_t | flags, | |
Dbt & | primary_key | |||
) |
Definition at line 552 of file generaldata.h.
References Database::PrimaryIterator< T >::m_cursor, Database::PrimaryIterator< T >::m_db, Database::PrimaryIterator< T >::m_GeneralData_answer, and Database::setFromDbt().
Referenced by Database::PrimaryIterator< T >::first(), Database::PrimaryIterator< T >::next(), and Database::PrimaryIterator< T >::setFromRecno().
00553 { 00554 Dbt primary_data; 00555 int ret; 00556 if ((ret = m_cursor->get 00557 (&primary_key, &primary_data, flags )) != 0) 00558 { 00559 if ( ret != DB_NOTFOUND ) 00560 { 00561 m_db->err(ret, "get call in PrimaryIterator::get"); 00562 } 00563 // throw DbException(ret); 00564 } 00565 else 00566 { 00567 setFromDbt( &primary_data, m_GeneralData_answer ); 00568 db_recno_t recno = * static_cast<db_recno_t *> ( primary_key.get_data() ); 00569 m_GeneralData_answer->setRecno( recno ); 00570 } 00571 return ret; 00572 }
T* Database::PrimaryIterator< T >::key | ( | ) | [inline] |
Definition at line 490 of file generaldata.h.
References Database::PrimaryIterator< T >::m_GeneralData_key.
Referenced by Database::PrimaryIterator< T >::first(), Database::PrimaryIterator< T >::next(), and Database::PrimaryIterator< T >::setFromRecno().
00490 { return m_GeneralData_key; }
T* Database::PrimaryIterator< T >::answer | ( | ) | [inline] |
Definition at line 491 of file generaldata.h.
References Database::PrimaryIterator< T >::m_GeneralData_answer.
Referenced by MAl_Readonly::read_seq_from_db(), TrapperDoc::saveExport(), TrapperView::selectAll(), and TrapperView::writeSelected().
00491 { return m_GeneralData_answer; }
int Database::PrimaryIterator< T >::delCurrent | ( | ) |
Definition at line 534 of file generaldata.h.
References Database::PrimaryIterator< T >::m_cursor, and Database::PrimaryIterator< T >::m_db.
00535 { 00536 int ret; 00537 if ((ret = m_cursor->del(0)) != 0) 00538 { 00539 m_db->err(ret, "get call in PrimaryIterator::get"); 00540 } 00541 return ret; 00542 }
int Database::PrimaryIterator< T >::setFromRecno | ( | db_recno_t | recno | ) |
Definition at line 575 of file generaldata.h.
References Database::PrimaryIterator< T >::get(), and Database::PrimaryIterator< T >::key().
Referenced by MAl_Readonly::read_seq_from_db(), and TrapperView::writeSelected().
00576 { 00577 Dbt key; 00578 key.set_size( sizeof( db_recno_t )); 00579 key.set_data( &recno ); 00580 return get( DB_SET, key); 00581 }
void Database::PrimaryIterator< T >::fillSecondaryDataDbt | ( | Dbt & | secondaryKey, | |
const Dbt & | primaryData | |||
) | [protected] |
Not implemented... What's this for anyway??
T* Database::PrimaryIterator< T >::m_GeneralData_key [protected] |
Definition at line 498 of file generaldata.h.
Referenced by Database::PrimaryIterator< T >::key(), Database::PrimaryIterator< T >::PrimaryIterator(), and Database::PrimaryIterator< T >::~PrimaryIterator().
T* Database::PrimaryIterator< T >::m_GeneralData_answer [protected] |
Definition at line 499 of file generaldata.h.
Referenced by Database::PrimaryIterator< T >::answer(), Database::PrimaryIterator< T >::get(), Database::PrimaryIterator< T >::PrimaryIterator(), and Database::PrimaryIterator< T >::~PrimaryIterator().
Dbc* Database::PrimaryIterator< T >::m_cursor [protected] |
Definition at line 500 of file generaldata.h.
Referenced by Database::PrimaryIterator< T >::delCurrent(), Database::PrimaryIterator< T >::get(), Database::PrimaryIterator< T >::PrimaryIterator(), and Database::PrimaryIterator< T >::~PrimaryIterator().
Db* Database::PrimaryIterator< T >::m_db [protected] |
Definition at line 501 of file generaldata.h.
Referenced by Database::PrimaryIterator< T >::delCurrent(), Database::PrimaryIterator< T >::get(), and Database::PrimaryIterator< T >::PrimaryIterator().
std::string Database::PrimaryIterator< T >::name [protected] |
Definition at line 502 of file generaldata.h.