Inheritance diagram for CdbBdbNTupleSimpleImplP< E >:

Public Member Functions | |
| CdbBdbNTupleSimpleImplP (d_ULong theNumberOfColumns, const std::string &theName, const std::string &theDescription, const std::vector< std::string > &theColumnNames) | |
| Constructor. | |
| virtual | ~CdbBdbNTupleSimpleImplP () |
| Destructor. | |
| virtual d_ULong | rows () const |
| Get the number of rows in the tuple. | |
| virtual CdbStatus | get_row (std::vector< E > &theRow, const d_ULong theNumber) const |
| Get a row at a specified position. | |
| virtual CdbStatus | append_row (const std::vector< E > &theRow) |
| Append a row by the end of an existing list. | |
| virtual CdbStatus | repack () |
| Repack the internal storage of the tuple. | |
This implementation uses a "paged v-array" for efficient storing of n-tuple elements. The rows are unwrapped into a sigle dimension array in the following order:
DESIGN NOTES:
This class has been designed for the performance of the insertion operations versus persistent space utilization efficiency. That's why the capacity of a "paged" v-array used to store the elements may be greater than the actual number of elements stored at a given instance of time.
The current resizing policy for the storage is "x2" meaning that every time a new row is to be inserted and if there is no free space in the storage the storage size gets increased by a factor of 2.
Since this policy would result with the 25 average in-efficiency in the use of the storage then there is a special "repack" method meant to truncate the storage to match the actual number of rows stored in the array. Normally the "repack" operation should be called when the construction of the tuple is finished.
Definition at line 42 of file CdbBdbNTupleSimpleImplP.ddl.
|
||||||||||||||||||||||||
|
Constructor.
Definition at line 21 of file CdbBdbNTupleSimpleImplP.cc. |
|
|||||||||
|
Destructor.
Definition at line 42 of file CdbBdbNTupleSimpleImplP.cc. |
|
||||||||||
|
Append a row by the end of an existing list. Implements a virtual method defined in the base class.
Definition at line 87 of file CdbBdbNTupleSimpleImplP.cc. References CdbBdbNTupleBaseP::columns(), CdbStatus::Error, CdbStatus::IllegalParameters, and CdbStatus::Success. |
|
||||||||||||||||
|
Get a row at a specified position. Implements a virtual method defined in the base class.
Definition at line 57 of file CdbBdbNTupleSimpleImplP.cc. References CdbBdbNTupleBaseP::columns(), CdbStatus::Error, CdbStatus::NotFound, and CdbStatus::Success. |
|
|||||||||
|
Repack the internal storage of the tuple. Implements a virtual method defined in the base class.
Implements CdbBdbNTupleP< E >. Definition at line 130 of file CdbBdbNTupleSimpleImplP.cc. References CdbBdbNTupleBaseP::columns(), CdbStatus::Error, and CdbStatus::Success. |
|
|||||||||
|
Get the number of rows in the tuple. Implements a virtual method defined in the base class.
Implements CdbBdbNTupleP< E >. Definition at line 50 of file CdbBdbNTupleSimpleImplP.cc. |
1.3-rc3