You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Rick Hillegas (JIRA)" <ji...@apache.org> on 2017/03/19 14:33:41 UTC

[jira] [Updated] (DERBY-6926) InitPageOperation does not check before reading and writing

     [ https://issues.apache.org/jira/browse/DERBY-6926?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rick Hillegas updated DERBY-6926:
---------------------------------
    Issue Type: Improvement  (was: Bug)

> InitPageOperation does not check before reading and writing
> -----------------------------------------------------------
>
>                 Key: DERBY-6926
>                 URL: https://issues.apache.org/jira/browse/DERBY-6926
>             Project: Derby
>          Issue Type: Improvement
>          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)