read method

void read(
  1. TProtocol iprot
)
override

Reads the TObject from the given input protocol.

Implementation

read(TProtocol iprot) {
  TField field;
  iprot.readStructBegin();
  while (true) {
    field = iprot.readFieldBegin();
    if (field.type == TType.STOP) {
      break;
    }
    switch (field.id) {
      case SPACE_ID:
        if (field.type == TType.I32) {
          this.space_id = iprot.readI32();
          this.__isset_space_id = true;
        } else {
          TProtocolUtil.skip(iprot, field.type);
        }
        break;
      case PARTS:
        if (field.type == TType.LIST) {
          {
            TList _list200 = iprot.readListBegin();
            this.parts = <int>[];
            for (int _i201 = 0; _i201 < _list200.length; ++_i201) {
              int _elem202;
              _elem202 = iprot.readI32();
              this.parts?.add(_elem202);
            }
            iprot.readListEnd();
          }
        } else {
          TProtocolUtil.skip(iprot, field.type);
        }
        break;
      case INDICES:
        if (field.type == TType.STRUCT) {
          this.indices = new IndexSpec();
          this.indices?.read(iprot);
        } else {
          TProtocolUtil.skip(iprot, field.type);
        }
        break;
      case RETURN_COLUMNS:
        if (field.type == TType.LIST) {
          {
            TList _list203 = iprot.readListBegin();
            this.return_columns = <Int8List>[];
            for (int _i204 = 0; _i204 < _list203.length; ++_i204) {
              Int8List _elem205;
              _elem205 = iprot.readBinary();
              this.return_columns?.add(_elem205);
            }
            iprot.readListEnd();
          }
        } else {
          TProtocolUtil.skip(iprot, field.type);
        }
        break;
      case COMMON:
        if (field.type == TType.STRUCT) {
          this.common = new RequestCommon();
          this.common?.read(iprot);
        } else {
          TProtocolUtil.skip(iprot, field.type);
        }
        break;
      case LIMIT:
        if (field.type == TType.I64) {
          this.limit = iprot.readI64();
          this.__isset_limit = true;
        } else {
          TProtocolUtil.skip(iprot, field.type);
        }
        break;
      case ORDER_BY:
        if (field.type == TType.LIST) {
          {
            TList _list206 = iprot.readListBegin();
            this.order_by = <OrderBy>[];
            for (int _i207 = 0; _i207 < _list206.length; ++_i207) {
              OrderBy _elem208;
              _elem208 = new OrderBy();
              _elem208.read(iprot);
              this.order_by?.add(_elem208);
            }
            iprot.readListEnd();
          }
        } else {
          TProtocolUtil.skip(iprot, field.type);
        }
        break;
      case STAT_COLUMNS:
        if (field.type == TType.LIST) {
          {
            TList _list209 = iprot.readListBegin();
            this.stat_columns = <StatProp>[];
            for (int _i210 = 0; _i210 < _list209.length; ++_i210) {
              StatProp _elem211;
              _elem211 = new StatProp();
              _elem211.read(iprot);
              this.stat_columns?.add(_elem211);
            }
            iprot.readListEnd();
          }
        } else {
          TProtocolUtil.skip(iprot, field.type);
        }
        break;
      default:
        TProtocolUtil.skip(iprot, field.type);
        break;
    }
    iprot.readFieldEnd();
  }
  iprot.readStructEnd();

  // check for required fields of primitive type, which can't be checked in the validate method
  if (!__isset_space_id) {
    throw new TProtocolError(TProtocolErrorType.UNKNOWN,
        "Required field 'space_id' was not found in serialized data! Struct: ${toString()}");
  }

  validate();
}