libdballe 5.10
Public Member Functions | Data Fields | Protected Member Functions
dballe::db::Repinfo Struct Reference

Fast cached access to the repinfo table. More...

#include <repinfo.h>

Public Member Functions

 Repinfo (Connection *conn)
void invalidate_cache ()
 Invalidate the repinfo cache.
void update (const char *deffile, int *added, int *deleted, int *updated)
 Update the report type information in the database using the data from the given file.
int get_id (const char *memo) const
 Get the id of a repinfo entry given its name.
bool has_id (unsigned id) const
 Check if the database contains the given rep_cod id.
const repinfo::Cacheget_by_id (unsigned id) const
 Get a repinfo cache entry by id.
const repinfo::Cacheget_by_memo (const char *memo) const
 Get a repinfo cache entry by name.

Data Fields

std::vector< repinfo::Cachecache
 Cache of table entries.
std::vector< repinfo::Memoidxmemo_idx
 rep_memo -> rep_cod reverse index
Connectionconn
 DB connection.

Protected Member Functions

void read_cache ()
void cache_append (unsigned id, const char *memo, const char *desc, int prio, const char *descriptor, int tablea)
void rebuild_memo_idx () const
int cache_find_by_memo (const char *memo) const
int cache_find_by_id (unsigned id) const
std::vector< repinfo::Cacheread_repinfo_file (const char *deffile)

Detailed Description

Fast cached access to the repinfo table.


Member Function Documentation

const repinfo::Cache* dballe::db::Repinfo::get_by_id ( unsigned  id) const

Get a repinfo cache entry by id.

Parameters:
idid to query
Returns:
The Cache structure found, or NULL if none was found.
const repinfo::Cache* dballe::db::Repinfo::get_by_memo ( const char *  memo) const

Get a repinfo cache entry by name.

Parameters:
memoname to query
Returns:
The Cache structure found, or NULL if none was found.
int dballe::db::Repinfo::get_id ( const char *  memo) const

Get the id of a repinfo entry given its name.

Parameters:
memoThe name to query
Returns:
The resulting id. It will always be a valid one, because the functions fails if memo is not found.
bool dballe::db::Repinfo::has_id ( unsigned  id) const

Check if the database contains the given rep_cod id.

Parameters:
idid to check
Returns:
true if id exists, else false.
void dballe::db::Repinfo::invalidate_cache ( )

Invalidate the repinfo cache.

To be called if the repinfo table is modified externally; for example, when the table is recreated on database reset.

void dballe::db::Repinfo::update ( const char *  deffile,
int *  added,
int *  deleted,
int *  updated 
)

Update the report type information in the database using the data from the given file.

Parameters:
ridba_db_repinfo used to update the database
deffilePathname of the file to use for the update. The NULL value is accepted and means to use the default configure repinfo.csv file.
Return values:
addedNumber of entries that have been added during the update.
deletedNumber of entries that have been deleted during the update.
updatedNumber of entries that have been updated during the update.

Field Documentation

DB connection.

The pointer is assumed always valid during the lifetime of the object


The documentation for this struct was generated from the following file: