read method
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 ERROR_CODE:
if (field.type == TType.I32) {
this.error_code = iprot.readI32();
this.__isset_error_code = true;
} else {
TProtocolUtil.skip(iprot, field.type);
}
break;
case LATENCY_IN_US:
if (field.type == TType.I64) {
this.latency_in_us = iprot.readI64();
this.__isset_latency_in_us = true;
} else {
TProtocolUtil.skip(iprot, field.type);
}
break;
case DATA:
if (field.type == TType.STRUCT) {
this.data = new t_nebula.DataSet();
this.data?.read(iprot);
} else {
TProtocolUtil.skip(iprot, field.type);
}
break;
case SPACE_NAME:
if (field.type == TType.STRING) {
this.space_name = iprot.readBinary();
} else {
TProtocolUtil.skip(iprot, field.type);
}
break;
case ERROR_MSG:
if (field.type == TType.STRING) {
this.error_msg = iprot.readBinary();
} else {
TProtocolUtil.skip(iprot, field.type);
}
break;
case PLAN_DESC:
if (field.type == TType.STRUCT) {
this.plan_desc = new PlanDescription();
this.plan_desc?.read(iprot);
} else {
TProtocolUtil.skip(iprot, field.type);
}
break;
case COMMENT:
if (field.type == TType.STRING) {
this.comment = iprot.readBinary();
} 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_error_code) {
throw new TProtocolError(
TProtocolErrorType.UNKNOWN,
"Required field 'error_code' was not found in serialized data! Struct: " +
toString());
}
if (!__isset_latency_in_us) {
throw new TProtocolError(
TProtocolErrorType.UNKNOWN,
"Required field 'latency_in_us' was not found in serialized data! Struct: " +
toString());
}
validate();
}