Class DeviceViewNode

  • All Implemented Interfaces:
    org.apache.iotdb.consensus.common.request.IConsensusRequest

    public class DeviceViewNode
    extends MultiChildNode
    DeviceViewNode is responsible for constructing a device-based view of a set of series. And output the result with specific order. The order could be 'order by device' or 'order by timestamp'

    Each output from its children should have the same schema. That means, the columns should be same between these TsBlocks. If the input TsBlock contains n columns, the device-based view will contain n+1 columns where the new column is Device column.

    • Constructor Detail

      • DeviceViewNode

        public DeviceViewNode​(PlanNodeId id,
                              OrderByParameter mergeOrderParameter,
                              java.util.List<java.lang.String> outputColumnNames,
                              java.util.Map<java.lang.String,​java.util.List<java.lang.Integer>> deviceToMeasurementIndexesMap)
      • DeviceViewNode

        public DeviceViewNode​(PlanNodeId id,
                              OrderByParameter mergeOrderParameter,
                              java.util.List<java.lang.String> outputColumnNames,
                              java.util.List<java.lang.String> devices,
                              java.util.Map<java.lang.String,​java.util.List<java.lang.Integer>> deviceToMeasurementIndexesMap)
    • Method Detail

      • addChildDeviceNode

        public void addChildDeviceNode​(java.lang.String deviceName,
                                       PlanNode childNode)
      • getDevices

        public java.util.List<java.lang.String> getDevices()
      • getDeviceToMeasurementIndexesMap

        public java.util.Map<java.lang.String,​java.util.List<java.lang.Integer>> getDeviceToMeasurementIndexesMap()
      • getOutputColumnNames

        public java.util.List<java.lang.String> getOutputColumnNames()
        Specified by:
        getOutputColumnNames in class PlanNode
      • serializeAttributes

        protected void serializeAttributes​(java.nio.ByteBuffer byteBuffer)
        Specified by:
        serializeAttributes in class PlanNode
      • serializeAttributes

        protected void serializeAttributes​(java.io.DataOutputStream stream)
                                    throws java.io.IOException
        Specified by:
        serializeAttributes in class PlanNode
        Throws:
        java.io.IOException
      • deserialize

        public static DeviceViewNode deserialize​(java.nio.ByteBuffer byteBuffer)
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class MultiChildNode
      • toString

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