org.apache.derby.impl.store.raw.data
Class InitPageOperation

java.lang.Object
  extended byorg.apache.derby.impl.store.raw.data.PageBasicOperation
      extended byorg.apache.derby.impl.store.raw.data.PhysicalPageOperation
          extended byorg.apache.derby.impl.store.raw.data.InitPageOperation
All Implemented Interfaces:
java.io.Externalizable, Formatable, Loggable, RePreparable, java.io.Serializable, TypedFormat, Undoable

public final class InitPageOperation
extends PhysicalPageOperation

This operation initializes the page that is being allocated, this operation does not change the alloc page information.

See Also:
Serialized Form
Format IDLOGOP_INIT_PAGE the formatId is written by FormatIdOutputStream when this object is written out by writeObject
Purposeinitialized a page
Upgrade
Disk LayoutPhysicalPageOperation the superclass nextRecordId(CompressedInt) the next recordId this page should give out initFlag(CompressedInt) initialization flag: reuse, overflow pageformat(int) the page's formatId OptionalData none

Field Summary
protected  int initFlag
           
protected  int nextRecordId
           
protected  boolean overflowPage
           
protected  int pageFormatId
           
protected  long pageOffset
           
protected  boolean reuse
           
 
Fields inherited from class org.apache.derby.impl.store.raw.data.PageBasicOperation
containerHdl, foundHere, page
 
Fields inherited from interface org.apache.derby.iapi.store.raw.Loggable
ABORT, BI_LOG, CHECKSUM, COMMIT, COMPENSATION, FILE_RESOURCE, FIRST, LAST, PREPARE, RAWSTORE, XA_NEEDLOCK
 
Constructor Summary
InitPageOperation()
           
InitPageOperation(BasePage page, int flag, int formatid, long offset)
           
 
Method Summary
 void doMe(Transaction xact, LogInstant instant, LimitObjectInput in)
          Mark the page as valid, and clear out any crud from the page
protected  BasePage getPageForLoadTran(Transaction xact)
          If we are in load tran, this page may not exist for the container yet.
 int getTypeFormatId()
          Return my format identifier.
 void readExternal(java.io.ObjectInput in)
          Read this in
 void restoreMe(Transaction xact, BasePage undoPage, LogInstant CLRInstant, LimitObjectInput in)
          restore the before image of the page
 java.lang.String toString()
           
 void undoMe(Transaction xact, BasePage undoPage, LogInstant CLRInstant, LimitObjectInput in)
          Mark the page as free
 void writeExternal(java.io.ObjectOutput out)
          Write this out.
 
Methods inherited from class org.apache.derby.impl.store.raw.data.PhysicalPageOperation
generateUndo
 
Methods inherited from class org.apache.derby.impl.store.raw.data.PageBasicOperation
findpage, getPage, getPageId, getPageVersion, getPreparedLog, group, needsRedo, reclaimPrepareLocks, releaseResource, resetPageNumber
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.derby.iapi.store.raw.Loggable
getPreparedLog, group, needsRedo, releaseResource
 

Field Detail

nextRecordId

protected int nextRecordId

initFlag

protected int initFlag

pageFormatId

protected int pageFormatId

pageOffset

protected long pageOffset

reuse

protected boolean reuse

overflowPage

protected boolean overflowPage
Constructor Detail

InitPageOperation

public InitPageOperation(BasePage page,
                         int flag,
                         int formatid,
                         long offset)
                  throws StandardException

InitPageOperation

public InitPageOperation()
Method Detail

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Write this out.

Specified by:
writeExternal in interface java.io.Externalizable
Overrides:
writeExternal in class PageBasicOperation
Throws:
java.io.IOException - error writing to log stream

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Read this in

Specified by:
readExternal in interface java.io.Externalizable
Overrides:
readExternal in class PageBasicOperation
Throws:
java.io.IOException - error reading from log stream
java.lang.ClassNotFoundException - log stream corrupted

getTypeFormatId

public int getTypeFormatId()
Return my format identifier.

Returns:
The identifier. (A UUID stuffed in an array of 16 bytes).

doMe

public void doMe(Transaction xact,
                 LogInstant instant,
                 LimitObjectInput in)
          throws StandardException,
                 java.io.IOException
Mark the page as valid, and clear out any crud from the page

Parameters:
xact - the Transaction
instant - the log instant of this operation
in - optional data
Throws:
java.io.IOException - Can be thrown by any of the methods of ObjectInput.
StandardException - Standard Cloudscape policy.
See Also:
Loggable.doMe(org.apache.derby.iapi.store.raw.Transaction, org.apache.derby.iapi.store.raw.log.LogInstant, org.apache.derby.iapi.services.io.LimitObjectInput)

getPageForLoadTran

protected BasePage getPageForLoadTran(Transaction xact)
                               throws StandardException
If we are in load tran, this page may not exist for the container yet. We need to create it first. This routine is called as the last resort of find page, the container handle has already been found and it is not dropped.

Overrides:
getPageForLoadTran in class PageBasicOperation
Throws:
StandardException - Standard Cloudscape policy.

undoMe

public void undoMe(Transaction xact,
                   BasePage undoPage,
                   LogInstant CLRInstant,
                   LimitObjectInput in)
            throws StandardException,
                   java.io.IOException
Mark the page as free

Specified by:
undoMe in class PhysicalPageOperation
Parameters:
xact - the Transaction doing the rollback
undoPage - the page to rollback changes on
CLRInstant - the log instant of this (PageUndo) operation
in - optional data for the rollback operation
Throws:
StandardException - Thrown by methods I call
java.io.IOException - Thrown by methods I call
See Also:
PhysicalPageOperation.undoMe(org.apache.derby.iapi.store.raw.Transaction, org.apache.derby.impl.store.raw.data.BasePage, org.apache.derby.iapi.store.raw.log.LogInstant, org.apache.derby.iapi.services.io.LimitObjectInput)

restoreMe

public void restoreMe(Transaction xact,
                      BasePage undoPage,
                      LogInstant CLRInstant,
                      LimitObjectInput in)
               throws StandardException,
                      java.io.IOException
restore the before image of the page

Specified by:
restoreMe in class PageBasicOperation
Parameters:
xact - the Transaction doing the rollback
undoPage - the page to rollback changes on
CLRInstant - the log instant of this (PageUndo) operation
in - optional data for the rollback operation
Throws:
StandardException - Standard Cloudscape Error Policy
java.io.IOException - problem reading the complete log record from the input stream

toString

public java.lang.String toString()
Overrides:
toString in class PageBasicOperation

Built on Tue 2006-10-10 19:23:47+0200, from revision exported

Apache Derby V10.1 Engine Documentation - Copyright © 1997,2005 The Apache Software Foundation or its licensors, as applicable.