Hao Zhong created DERBY-6926:
--------------------------------

             Summary: InitPageOperation does not check before reading and 
writing
                 Key: DERBY-6926
                 URL: https://issues.apache.org/jira/browse/DERBY-6926
             Project: Derby
          Issue Type: Bug
          Components: Store
    Affects Versions: 10.12.1.1
            Reporter: Hao Zhong


The readExternal and writeExternal methods are not checked before reading and 
writing. Indeed, other classes do check before that. For example, 
CompressSpacePageOperation implements the above two methods, and both are 
checked. In particular, the code of CompressSpacePageOperation.readExternal  is:
public void readExternal(ObjectInput in)
                 throws IOException, ClassNotFoundException
        {
                super.readExternal(in);
                if( !(this instanceof CompressSpacePageOperation10_2) )
                {
                        newHighestPage      = in.readInt();
                        num_pages_truncated = CompressedNumber.readInt(in);
                }
        }
The code of InitPageOperation.readExternal  is:
public void readExternal(ObjectInput in) 
                 throws IOException, ClassNotFoundException
        {
                super.readExternal(in);
                nextRecordId = CompressedNumber.readInt(in);
                initFlag = CompressedNumber.readInt(in);
                pageOffset = CompressedNumber.readLong(in);
                pageFormatId = in.readInt();
        }.
It is better to guide the method as CompressSpacePageOperation does.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to