@Override
    public void read(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TProtocol prot, Schema struct) throws org.apache.amoro.shade.thrift.org.apache.thrift.TException {
      org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet incoming = iprot.readBitSet(4);
      if (incoming.get(0)) {
        {
          org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList _list20 = iprot.readListBegin(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT);
          struct.columns = new java.util.ArrayList<ColumnInfo>(_list20.size);
          @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable ColumnInfo _elem21;
          for (int _i22 = 0; _i22 < _list20.size; ++_i22)
          {
            _elem21 = new ColumnInfo();
            _elem21.read(iprot);
            struct.columns.add(_elem21);
          }
        }
        struct.setColumnsIsSet(true);
      }
      if (incoming.get(1)) {
        {
          org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList _list23 = iprot.readListBegin(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT);
          struct.pks = new java.util.ArrayList<ColumnInfo>(_list23.size);
          @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable ColumnInfo _elem24;
          for (int _i25 = 0; _i25 < _list23.size; ++_i25)
          {
            _elem24 = new ColumnInfo();
            _elem24.read(iprot);
            struct.pks.add(_elem24);
          }
        }
        struct.setPksIsSet(true);
      }
      if (incoming.get(2)) {
        {
          org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList _list26 = iprot.readListBegin(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT);
          struct.partitionColumns = new java.util.ArrayList<ColumnInfo>(_list26.size);
          @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable ColumnInfo _elem27;
          for (int _i28 = 0; _i28 < _list26.size; ++_i28)
          {
            _elem27 = new ColumnInfo();
            _elem27.read(iprot);
            struct.partitionColumns.add(_elem27);
          }
        }
        struct.setPartitionColumnsIsSet(true);
      }
      if (incoming.get(3)) {
        {
          org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TList _list29 = iprot.readListBegin(org.apache.amoro.shade.thrift.org.apache.thrift.protocol.TType.STRUCT);
          struct.sortColumns = new java.util.ArrayList<ColumnInfo>(_list29.size);
          @org.apache.amoro.shade.thrift.org.apache.thrift.annotation.Nullable ColumnInfo _elem30;
          for (int _i31 = 0; _i31 < _list29.size; ++_i31)
          {
            _elem30 = new ColumnInfo();
            _elem30.read(iprot);
            struct.sortColumns.add(_elem30);
          }
        }
        struct.setSortColumnsIsSet(true);
      }
    }
Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise
amoro-common/src/main/gen-java/org/apache/amoro/api/Schema.java