diff options
Diffstat (limited to 'exec/vector/src/main/codegen/templates/UnionWriter.java')
-rw-r--r-- | exec/vector/src/main/codegen/templates/UnionWriter.java | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/exec/vector/src/main/codegen/templates/UnionWriter.java b/exec/vector/src/main/codegen/templates/UnionWriter.java index 961810e3a..13c093acf 100644 --- a/exec/vector/src/main/codegen/templates/UnionWriter.java +++ b/exec/vector/src/main/codegen/templates/UnionWriter.java @@ -181,7 +181,21 @@ public class UnionWriter extends AbstractFieldWriter implements FieldWriter { <#if lowerName == "int" ><#assign lowerName = "integer" /></#if> <#assign upperName = minor.class?upper_case /> <#assign capName = minor.class?cap_first /> - <#if !minor.class?starts_with("Decimal")> + <#if minor.class == "VarDecimal"> + @Override + public ${capName}Writer ${lowerName}(String name, int scale, int precision) { + data.getMutator().setType(idx(), MinorType.MAP); + getMapWriter().setPosition(idx()); + return getMapWriter().${lowerName}(name, scale, precision); + } + + @Override + public ${capName}Writer ${lowerName}(int scale, int precision) { + data.getMutator().setType(idx(), MinorType.LIST); + getListWriter().setPosition(idx()); + return getListWriter().${lowerName}(scale, precision); + } + <#else> @Override public ${capName}Writer ${lowerName}(String name) { data.getMutator().setType(idx(), MinorType.MAP); |