[FeMeta](function) write function nullable mode info (#25535)

notice: this PR have change the fe meta version.
the nullable mode of udf-function is important,
if not write to info, it's will be loss after restart.
This commit is contained in:
zhangstar333
2023-10-20 11:37:11 +08:00
committed by GitHub
parent 4006c7cd1f
commit 0510d548c6
2 changed files with 8 additions and 1 deletions

View File

@ -70,9 +70,11 @@ public final class FeMetaVersion {
public static final int VERSION_124 = 124;
// For write/read auto create partition expr
public static final int VERSION_125 = 125;
// For write/read function nullable mode info
public static final int VERSION_126 = 126;
// note: when increment meta version, should assign the latest version to VERSION_CURRENT
public static final int VERSION_CURRENT = VERSION_125;
public static final int VERSION_CURRENT = VERSION_126;
// all logs meta version should >= the minimum version, so that we could remove many if clause, for example
// if (FE_METAVERSION < VERSION_94) ...

View File

@ -21,6 +21,7 @@ import org.apache.doris.analysis.Expr;
import org.apache.doris.analysis.FunctionCallExpr;
import org.apache.doris.analysis.FunctionName;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.FeMetaVersion;
import org.apache.doris.common.UserException;
import org.apache.doris.common.io.IOUtils;
import org.apache.doris.common.io.Text;
@ -664,6 +665,7 @@ public class Function implements Writable {
}
IOUtils.writeOptionString(output, libUrl);
IOUtils.writeOptionString(output, checksum);
output.writeUTF(nullableMode.toString());
}
@Override
@ -698,6 +700,9 @@ public class Function implements Writable {
if (hasChecksum) {
checksum = Text.readString(input);
}
if (Env.getCurrentEnvJournalVersion() >= FeMetaVersion.VERSION_126) {
nullableMode = NullableMode.valueOf(input.readUTF());
}
}
public static Function read(DataInput input) throws IOException {