#include <iopcClassObjectImpl.h>
Collaboration diagram for InsertUpdateTableInfo:
Public Attributes | |
TableInfo * | table |
BitField | attributesToSkip |
BitField | columnsToSkip |
Structs of this type are contained in IopcClassObjectImpl-s (IopcClassObjectImpl::insertUpdateTableList). In one IopcClassObjectImpl there is one InsertUpdateTableInfo for each table into which some data from the represented class should be put.
Because not all the class attributes should be put into this table, there is first bitfield - attributesToSkip. Bits in the field correspond to individual attributes from AttrVector (lexicographic ordering). The attributes whose bit is 0 are skipped when inserting into this table.
Second bitfield, columnsToSkip, is used because the table usually contains greater number of columns than is the number of attributes to be inserted. This bitfield says which table columns should be skipped when inserting row for object of type represented by the IopcClassObjectImpl.
Second bitfield is used only when inserting objects - in advance prepared SQL statement is used (TableInfo::insertSqlStatement). If updating object, the SQL statement is generated dynamically so columnsToSkip are not needed.
Both bitfields are initialized in IopcClassObjectImpl::createInsertUpdateTableBitFields().
|
Information about the table.
|
|
Attributes to skip, see above.
|
|
Columns to skip, see above.
|