|
13 | 13 | */
|
14 | 14 | package io.trino.type;
|
15 | 15 |
|
| 16 | +import com.fasterxml.jackson.core.JsonFactory; |
16 | 17 | import com.fasterxml.jackson.core.JsonGenerator;
|
17 | 18 | import com.fasterxml.jackson.core.JsonParser;
|
18 | 19 | import com.google.common.collect.ImmutableList;
|
|
39 | 40 | import java.math.BigDecimal;
|
40 | 41 |
|
41 | 42 | import static io.airlift.slice.Slices.utf8Slice;
|
42 |
| -import static io.trino.operator.scalar.JsonOperators.JSON_FACTORY; |
43 | 43 | import static io.trino.spi.StandardErrorCode.INVALID_CAST_ARGUMENT;
|
44 | 44 | import static io.trino.spi.function.InvocationConvention.InvocationReturnConvention.FAIL_ON_NULL;
|
45 | 45 | import static io.trino.spi.function.InvocationConvention.InvocationReturnConvention.NULLABLE_RETURN;
|
|
61 | 61 | import static io.trino.spi.type.VarcharType.UNBOUNDED_LENGTH;
|
62 | 62 | import static io.trino.type.JsonType.JSON;
|
63 | 63 | import static io.trino.util.Failures.checkCondition;
|
| 64 | +import static io.trino.util.JsonUtil.createJsonFactory; |
64 | 65 | import static io.trino.util.JsonUtil.createJsonGenerator;
|
65 | 66 | import static io.trino.util.JsonUtil.createJsonParser;
|
66 | 67 | import static io.trino.util.JsonUtil.currentTokenAsLongDecimal;
|
@@ -92,6 +93,8 @@ public final class DecimalCasts
|
92 | 93 | public static final SqlScalarFunction DECIMAL_TO_JSON_CAST = castFunctionFromDecimalTo(JSON.getTypeSignature(), "shortDecimalToJson", "longDecimalToJson");
|
93 | 94 | public static final SqlScalarFunction JSON_TO_DECIMAL_CAST = castFunctionToDecimalFromBuilder(JSON.getTypeSignature(), true, "jsonToShortDecimal", "jsonToLongDecimal");
|
94 | 95 |
|
| 96 | + private static final JsonFactory JSON_FACTORY = createJsonFactory(); |
| 97 | + |
95 | 98 | private static SqlScalarFunction castFunctionFromDecimalTo(TypeSignature to, String... methodNames)
|
96 | 99 | {
|
97 | 100 | Signature signature = Signature.builder()
|
|
0 commit comments