diff --git a/pom.xml b/pom.xml
index 003577d7c58a5..039a7ee27f6b0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -177,6 +177,7 @@
presto-kudu
presto-elasticsearch
presto-function-namespace-managers
+ presto-function-namespace-managers-common
presto-expressions
presto-benchmark-runner
presto-spark-classloader-interface
@@ -1017,6 +1018,12 @@
${project.version}
+
+ com.facebook.presto
+ presto-native-sidecar-plugin
+ ${project.version}
+
+
com.facebook.hive
hive-dwrf
diff --git a/presto-client/src/main/java/com/facebook/presto/client/FixJsonDataUtils.java b/presto-client/src/main/java/com/facebook/presto/client/FixJsonDataUtils.java
index 25e4742f696ac..8a853726fb390 100644
--- a/presto-client/src/main/java/com/facebook/presto/client/FixJsonDataUtils.java
+++ b/presto-client/src/main/java/com/facebook/presto/client/FixJsonDataUtils.java
@@ -109,7 +109,7 @@ private static Object fixValue(TypeSignature signature, Object value)
if (List.class.isAssignableFrom(value.getClass())) {
List
-
- com.google.code.findbugs
- jsr305
-
-
com.google.guava
guava
@@ -217,5 +212,13 @@
javax.ws.rs-api
test
+
+
+ com.facebook.presto
+ presto-function-namespace-managers-common
+ ${project.version}
+ compile
+
+
diff --git a/presto-function-namespace-managers/src/main/java/com/facebook/presto/functionNamespace/rest/RestBasedFunctionNamespaceManager.java b/presto-function-namespace-managers/src/main/java/com/facebook/presto/functionNamespace/rest/RestBasedFunctionNamespaceManager.java
index c9cd27f6318f6..0770a2d5e7dec 100644
--- a/presto-function-namespace-managers/src/main/java/com/facebook/presto/functionNamespace/rest/RestBasedFunctionNamespaceManager.java
+++ b/presto-function-namespace-managers/src/main/java/com/facebook/presto/functionNamespace/rest/RestBasedFunctionNamespaceManager.java
@@ -143,6 +143,7 @@ private SqlInvokedFunction createSqlInvokedFunction(String functionName, JsonBas
jsonBasedUdfFunctionMetaData.getDocString(),
jsonBasedUdfFunctionMetaData.getRoutineCharacteristics(),
"",
+ jsonBasedUdfFunctionMetaData.getVariableArity(),
functionVersion,
jsonBasedUdfFunctionMetaData.getFunctionKind(),
functionId,
diff --git a/presto-function-namespace-managers/src/test/java/com/facebook/presto/functionNamespace/TestRestBasedFunctionNamespaceManager.java b/presto-function-namespace-managers/src/test/java/com/facebook/presto/functionNamespace/TestRestBasedFunctionNamespaceManager.java
index 5eabad9db3d5b..7045f9f165b3c 100644
--- a/presto-function-namespace-managers/src/test/java/com/facebook/presto/functionNamespace/TestRestBasedFunctionNamespaceManager.java
+++ b/presto-function-namespace-managers/src/test/java/com/facebook/presto/functionNamespace/TestRestBasedFunctionNamespaceManager.java
@@ -58,6 +58,7 @@
import java.util.Optional;
import static com.facebook.presto.common.type.TypeSignature.parseTypeSignature;
+import static java.util.Collections.emptyList;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
@@ -140,20 +141,24 @@ public static Map> createUdfSignature
new TypeSignature("integer"),
Collections.singletonList(new TypeSignature("integer")),
"default",
+ false,
new RoutineCharacteristics(RoutineCharacteristics.Language.CPP, RoutineCharacteristics.Determinism.DETERMINISTIC, RoutineCharacteristics.NullCallClause.CALLED_ON_NULL_INPUT),
Optional.empty(),
Optional.of(new SqlFunctionId(QualifiedObjectName.valueOf("unittest.default.square"), ImmutableList.of(parseTypeSignature("integer")))),
- Optional.of("1")));
+ Optional.of("1"),
+ Optional.of(emptyList())));
squareFunctions.add(new JsonBasedUdfFunctionMetadata(
"square a double",
FunctionKind.SCALAR,
new TypeSignature("double"),
Collections.singletonList(new TypeSignature("double")),
"test_schema",
+ false,
new RoutineCharacteristics(RoutineCharacteristics.Language.CPP, RoutineCharacteristics.Determinism.DETERMINISTIC, RoutineCharacteristics.NullCallClause.CALLED_ON_NULL_INPUT),
Optional.empty(),
Optional.of(new SqlFunctionId(QualifiedObjectName.valueOf("unittest.test_schema.square"), ImmutableList.of(parseTypeSignature("double")))),
- Optional.of("1")));
+ Optional.of("1"),
+ Optional.of(emptyList())));
udfSignatureMap.put("square", squareFunctions);
// array_function_1
@@ -164,30 +169,36 @@ public static Map> createUdfSignature
parseTypeSignature("ARRAY>"),
Arrays.asList(parseTypeSignature("ARRAY>"), parseTypeSignature("ARRAY>")),
"default",
+ false,
new RoutineCharacteristics(RoutineCharacteristics.Language.CPP, RoutineCharacteristics.Determinism.DETERMINISTIC, RoutineCharacteristics.NullCallClause.CALLED_ON_NULL_INPUT),
Optional.empty(),
Optional.of(new SqlFunctionId(QualifiedObjectName.valueOf("unittest.default.array_function_1"), ImmutableList.of(parseTypeSignature("ARRAY>"), parseTypeSignature("ARRAY>")))),
- Optional.of("1")));
+ Optional.of("1"),
+ Optional.of(emptyList())));
arrayFunction1.add(new JsonBasedUdfFunctionMetadata(
"combines two float arrays into one",
FunctionKind.SCALAR,
parseTypeSignature("ARRAY>"),
Arrays.asList(parseTypeSignature("ARRAY>"), parseTypeSignature("ARRAY>")),
"test_schema",
+ false,
new RoutineCharacteristics(RoutineCharacteristics.Language.CPP, RoutineCharacteristics.Determinism.DETERMINISTIC, RoutineCharacteristics.NullCallClause.CALLED_ON_NULL_INPUT),
Optional.empty(),
Optional.of(new SqlFunctionId(QualifiedObjectName.valueOf("unittest.test_schema.array_function_1"), ImmutableList.of(parseTypeSignature("ARRAY>"), parseTypeSignature("ARRAY>")))),
- Optional.of("1")));
+ Optional.of("1"),
+ Optional.of(emptyList())));
arrayFunction1.add(new JsonBasedUdfFunctionMetadata(
"combines two double arrays into one",
FunctionKind.SCALAR,
parseTypeSignature("ARRAY"),
Arrays.asList(parseTypeSignature("ARRAY"), TypeSignature.parseTypeSignature("ARRAY")),
"test_schema",
+ false,
new RoutineCharacteristics(RoutineCharacteristics.Language.CPP, RoutineCharacteristics.Determinism.DETERMINISTIC, RoutineCharacteristics.NullCallClause.CALLED_ON_NULL_INPUT),
Optional.empty(),
Optional.of(new SqlFunctionId(QualifiedObjectName.valueOf("unittest.test_schema.array_function_1"), ImmutableList.of(parseTypeSignature("ARRAY"), parseTypeSignature("ARRAY")))),
- Optional.of("1")));
+ Optional.of("1"),
+ Optional.of(emptyList())));
udfSignatureMap.put("array_function_1", arrayFunction1);
// array_function_2
@@ -198,20 +209,24 @@ public static Map> createUdfSignature
TypeSignature.parseTypeSignature("ARRAY