From 833ad743da22afa129292f88a47006a572f8040d Mon Sep 17 00:00:00 2001 From: sasamuku Date: Thu, 21 Dec 2023 14:16:05 +0900 Subject: [PATCH] support float value without decimal point --- .../org/embulk/filter/expand_json/FilteredPageOutput.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/embulk/filter/expand_json/FilteredPageOutput.java b/src/main/java/org/embulk/filter/expand_json/FilteredPageOutput.java index 102b73b..aabbdc8 100644 --- a/src/main/java/org/embulk/filter/expand_json/FilteredPageOutput.java +++ b/src/main/java/org/embulk/filter/expand_json/FilteredPageOutput.java @@ -359,7 +359,13 @@ else if (Types.DOUBLE.equals(expandedJsonColumn.getColumn().getType())) { pageBuilder.setDouble(expandedJsonColumn.getColumn(), value.asFloatValue().toDouble()); } catch (MessageTypeCastException e) { - throw new JsonValueInvalidException(String.format("Failed to parse '%s' as double", expandedJsonColumn.getKey()), e); + try { + // ad-hoc workaround for decimal point missing + pageBuilder.setDouble(expandedJsonColumn.getColumn(), (double) value.asIntegerValue().toLong()); + } + catch (MessageTypeCastException e2) { + throw new JsonValueInvalidException(String.format("Failed to parse '%s' as double", expandedJsonColumn.getKey()), e); + } } } else if (Types.LONG.equals(expandedJsonColumn.getColumn().getType())) {