/// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="ownerDb">Table that owns this row.</param>
        /// <param name="pointer">Row start offset in data base file.</param>
        /// <param name="rowData">Row data.</param>
        internal lsDB_FixedLengthRecord(lsDB_FixedLengthTable ownerDb, long pointer, byte[] rowData)
        {
            m_pOwnerDb = ownerDb;
            m_Pointer  = pointer;
            m_RowData  = rowData;

            m_ColumnCount = ownerDb.Columns.Count;

            m_ColumnDataTypes = new LDB_DataType[m_ColumnCount];
            m_ColumnDataSizes = new int[m_ColumnCount];
            for (int i = 0; i < m_ColumnDataSizes.Length; i++)
            {
                m_ColumnDataTypes[i] = m_pOwnerDb.Columns[i].DataType;
                m_ColumnDataSizes[i] = m_pOwnerDb.Columns[i].ColumnSize;
            }

            m_ColumnDataStartOffsets = new int[m_ColumnCount];
            int columnDataStartOffset = 1;

            for (int i = 0; i < m_ColumnDataStartOffsets.Length; i++)
            {
                m_ColumnDataStartOffsets[i] = columnDataStartOffset;
                columnDataStartOffset      += m_pOwnerDb.Columns[i].ColumnSize;
            }
        }
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="ownerDb">Table that owns this row.</param>
        /// <param name="pointer">Row start offset in data base file.</param>
        /// <param name="rowData">Row data.</param>
        internal lsDB_FixedLengthRecord(lsDB_FixedLengthTable ownerDb,long pointer,byte[] rowData)
        {
            m_pOwnerDb = ownerDb;
            m_Pointer  = pointer;
            m_RowData  = rowData;

            m_ColumnCount = ownerDb.Columns.Count;

            m_ColumnDataTypes = new LDB_DataType[m_ColumnCount];
            m_ColumnDataSizes = new int[m_ColumnCount];
            for(int i = 0;i < m_ColumnDataSizes.Length;i++){
                m_ColumnDataTypes[i] = m_pOwnerDb.Columns[i].DataType;
                m_ColumnDataSizes[i] =  m_pOwnerDb.Columns[i].ColumnSize;
            }

            m_ColumnDataStartOffsets = new int[m_ColumnCount];
            int columnDataStartOffset = 1;
            for(int i = 0;i < m_ColumnDataStartOffsets.Length;i++){
                m_ColumnDataStartOffsets[i] = columnDataStartOffset;
                columnDataStartOffset += m_pOwnerDb.Columns[i].ColumnSize;
            }
        }
 /// <summary>
 /// Reuses lsDB_FixedLengthRecord object,
 /// </summary>
 /// <param name="ownerDb">Table that owns this row.</param>
 /// <param name="pointer">Row start offset in data base file.</param>
 /// <param name="rowData">Row data.</param>
 internal void ReuseRecord(lsDB_FixedLengthTable ownerDb,long pointer,byte[] rowData)
 {
     m_pOwnerDb = ownerDb;
     m_Pointer  = pointer;
     m_RowData  = rowData;
 }
 /// <summary>
 /// Reuses lsDB_FixedLengthRecord object,
 /// </summary>
 /// <param name="ownerDb">Table that owns this row.</param>
 /// <param name="pointer">Row start offset in data base file.</param>
 /// <param name="rowData">Row data.</param>
 internal void ReuseRecord(lsDB_FixedLengthTable ownerDb, long pointer, byte[] rowData)
 {
     m_pOwnerDb = ownerDb;
     m_Pointer  = pointer;
     m_RowData  = rowData;
 }