Package com.ocient.jdbc.proto

## Interface PlanProtocol.PlanMessageOrBuilder

All Superinterfaces:
  `com.google.protobuf.MessageLiteOrBuilder`, `com.google.protobuf.MessageOrBuilder`

All Known Implementing Classes:
  `PlanProtocol.PlanMessage`, `PlanProtocol.PlanMessage.Builder`

Enclosing class:
  PlanProtocol

    public static interface PlanProtocol.PlanMessageOrBuilder
    extends com.google.protobuf.MessageOrBuilder

### Method Summary

All Methods Instance Methods Abstract Methods
`boolean` `getEmptyResultSet()` This is only needed for explain For actual execution we don't even bother generating a plan If this is set, nothing else will be set
`PlanProtocol.PlanHeader` `getHeader()` Header first
`PlanProtocol.PlanHeaderOrBuilder` `getHeaderOrBuilder()` Header first
`PlanProtocol.Operator` `getRootNode()` The root operator - this is the last operator In other words, the data that comes out of here is what is returned to the caller
`PlanProtocol.OperatorOrBuilder` `getRootNodeOrBuilder()` The root operator - this is the last operator In other words, the data that comes out of here is what is returned to the caller
`PlanProtocol.PlanMessage.PlanType` `getType()` The type of the plan
`int` `getTypeValue()` The type of the plan
`boolean` `hasHeader()` Header first
`boolean` `hasRootNode()` The root operator - this is the last operator In other words, the data that comes out of here is what is returned to the caller

### Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

`isInitialized`

### Methods inherited from interface com.google.protobuf.MessageOrBuilder

`findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof`

### Method Detail

#### hasHeader

    boolean hasHeader()

    Header first

`.xg.db.sqlPlans.PlanHeader header = 1;`

Returns:
  Whether the header field is set.

#### getHeader

    PlanProtocol.PlanHeader getHeader()

    Header first

`.xg.db.sqlPlans.PlanHeader header = 1;`

Returns:
  The header.

#### getHeaderOrBuilder

    PlanProtocol.PlanHeaderOrBuilder getHeaderOrBuilder()

    Header first

`.xg.db.sqlPlans.PlanHeader header = 1;`

#### getTypeValue

    int getTypeValue()

    The type of the plan

`.xg.db.sqlPlans.PlanMessage.PlanType type = 2;`

Returns:
  The enum numeric value on the wire for type.

#### getType

    PlanProtocol.PlanMessage.PlanType getType()

    The type of the plan

`.xg.db.sqlPlans.PlanMessage.PlanType type = 2;`

Returns:
  The type.

#### hasRootNode

    boolean hasRootNode()

    The root operator - this is the last operator
    In other words, the data that comes out of here is what is returned to the caller

`.xg.db.sqlPlans.Operator rootNode = 3;`

Returns:
  Whether the rootNode field is set.

#### getRootNode

    PlanProtocol.Operator getRootNode()

    The root operator - this is the last operator
    In other words, the data that comes out of here is what is returned to the caller

`.xg.db.sqlPlans.Operator rootNode = 3;`

Returns:
  The rootNode.

#### getRootNodeOrBuilder

    PlanProtocol.OperatorOrBuilder getRootNodeOrBuilder()

    The root operator - this is the last operator
    In other words, the data that comes out of here is what is returned to the caller

`.xg.db.sqlPlans.Operator rootNode = 3;`

#### getEmptyResultSet

    boolean getEmptyResultSet()

    This is only needed for explain
    For actual execution we don't even bother generating a plan
    If this is set, nothing else will be set

`bool emptyResultSet = 4;`

Returns:
  The emptyResultSet.