Logo Search packages:      
Sourcecode: maxdb-7.5.00 version File versions

void Log_ColEntryIter::MoveColToRec ( tgg00_Rec *  pRec,
SAPDB_Int4  RecSize,
tgg00_BasisError &  Error 
) const [inline, inherited]

------------------------------------------------------------------------------- function: MoveColToRec --------------------------------------------------------------------------------

Definition at line 340 of file Log_RecordColumnMap.cpp.

References Log_ColEntryIter::GetLength(), Log_ColEntryIter::GetOffset(), and Log_ColEntryIter::GetValue().

Referenced by Log_RecordColumnMap::CreateAnyVarColPart(), Log_RecordColumnMap::CreateAnyVarColPartAndBeforeImage(), Log_RecordColumnMap::CreateFixColPartAndBeforeImage(), Log_RecordColumnMap::CreateKeyAndFixColPart(), and Log_RecordColumnMap::CreateKeyPart().

    {
        SAPDB_Int2 Length = this->GetLength();
        SAPDB_Int4 Offset;
        
        switch (this->m_ColumnType)
        {
        case Log_FixColumn:
            Offset = FirstFixColOffset (pRec) + this->GetOffset();
            break;
        case Log_FixKeyColumn:
        case Log_VarKeyColumn: 
            Offset = FirstKeyColOffset() + this->GetOffset();
            break;
        case Log_VarColumn:
            pRec->recBuf_gg00() [pRec->recLen_gg00()] = abs(Length);
            Offset = pRec->recLen_gg00() + 1;
            pRec->recLen_gg00() = Offset + Length;
            if (MAX_RECLEN_GG00 < pRec->recLen_gg00())
            {
                Error = e_too_long_record;
                return;
            }
            break;
        case Log_VarLongColumn:
            PutInt2Length (pRec->recBuf_gg00() + pRec->recLen_gg00(), Length);
            Offset = pRec->recLen_gg00() + 2;
            pRec->recLen_gg00() = Offset + Length;
            if (MAX_RECLEN_GG00 < pRec->recLen_gg00())
            {
                Error = e_too_long_record;
                return;
            }
            break;
        /* ++++ UH commented
        case Log_Column: 
            break;
            */
        }
            
        if (Length > 0)
            g10mv1 ("UpdMap", 1, Length, RecSize,
                GetValue(), 1, pRec, Offset + 1, Length, Error);
    }


Generated by  Doxygen 1.6.0   Back to index