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

Modifier and Type | Method | Description
--- | --- | ---
`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 Details

### hasHeader

boolean hasHeader()

    Header first

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

### getHeader

PlanProtocol.PlanHeader getHeader()

    Header first

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

### 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;`

### getType

PlanProtocol.PlanMessage.PlanType getType()

    The type of the plan

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

### 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;`

### 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;`

### 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;`