Search in sources :

Example 1 with MysqlExternalFunctionHub

use of io.prestosql.plugin.mysql.optimization.function.MysqlExternalFunctionHub in project hetu-core by openlookeng.

the class TestMySqlRegisterRemoteUdf method testDefaults.

@Test
public void testDefaults() {
    MysqlExternalFunctionHub externalFunctionHub = new MysqlExternalFunctionHub(new BaseJdbcConfig());
    Set<ExternalFunctionInfo> externalFunctionInfo = externalFunctionHub.getExternalFunctions();
    assertTrue(externalFunctionInfo.size() > 0);
    List<ExternalFunctionInfo> functionList = externalFunctionInfo.stream().filter(x -> x.getFunctionName().get().equals("lower")).collect(Collectors.toList());
    assertEquals(functionList.size(), 1);
    ExternalFunctionInfo functionInfo = functionList.get(0);
    assertEquals(functionInfo.getInputArgs().get(0), StandardTypes.VARCHAR);
    assertEquals(functionInfo.getReturnType().get(), StandardTypes.VARCHAR);
    assertTrue(functionInfo.isDeterministic());
    assertFalse(functionInfo.isCalledOnNullInput());
}
Also used : List(java.util.List) StandardTypes(io.prestosql.spi.type.StandardTypes) MysqlExternalFunctionHub(io.prestosql.plugin.mysql.optimization.function.MysqlExternalFunctionHub) BaseJdbcConfig(io.prestosql.plugin.jdbc.BaseJdbcConfig) Set(java.util.Set) Assert.assertEquals(org.testng.Assert.assertEquals) Assert.assertTrue(org.testng.Assert.assertTrue) Test(org.testng.annotations.Test) ExternalFunctionInfo(io.prestosql.spi.function.ExternalFunctionInfo) Collectors(java.util.stream.Collectors) Assert.assertFalse(org.testng.Assert.assertFalse) MysqlExternalFunctionHub(io.prestosql.plugin.mysql.optimization.function.MysqlExternalFunctionHub) ExternalFunctionInfo(io.prestosql.spi.function.ExternalFunctionInfo) BaseJdbcConfig(io.prestosql.plugin.jdbc.BaseJdbcConfig) Test(org.testng.annotations.Test)

Example 2 with MysqlExternalFunctionHub

use of io.prestosql.plugin.mysql.optimization.function.MysqlExternalFunctionHub in project hetu-core by openlookeng.

the class TestMySqlRegisterRemoteUdf method testMultiParamsFunctions.

// test func defination with more than one params
@Test
public void testMultiParamsFunctions() {
    MysqlExternalFunctionHub externalFunctionHub = new MysqlExternalFunctionHub(new BaseJdbcConfig());
    Set<ExternalFunctionInfo> externalFunctionInfo = externalFunctionHub.getExternalFunctions();
    assertTrue(externalFunctionInfo.size() > 0);
    List<ExternalFunctionInfo> functionList = externalFunctionInfo.stream().filter(x -> x.getFunctionName().get().equals("abs")).collect(Collectors.toList());
    assertEquals(functionList.size(), 2);
}
Also used : List(java.util.List) StandardTypes(io.prestosql.spi.type.StandardTypes) MysqlExternalFunctionHub(io.prestosql.plugin.mysql.optimization.function.MysqlExternalFunctionHub) BaseJdbcConfig(io.prestosql.plugin.jdbc.BaseJdbcConfig) Set(java.util.Set) Assert.assertEquals(org.testng.Assert.assertEquals) Assert.assertTrue(org.testng.Assert.assertTrue) Test(org.testng.annotations.Test) ExternalFunctionInfo(io.prestosql.spi.function.ExternalFunctionInfo) Collectors(java.util.stream.Collectors) Assert.assertFalse(org.testng.Assert.assertFalse) MysqlExternalFunctionHub(io.prestosql.plugin.mysql.optimization.function.MysqlExternalFunctionHub) ExternalFunctionInfo(io.prestosql.spi.function.ExternalFunctionInfo) BaseJdbcConfig(io.prestosql.plugin.jdbc.BaseJdbcConfig) Test(org.testng.annotations.Test)

Example 3 with MysqlExternalFunctionHub

use of io.prestosql.plugin.mysql.optimization.function.MysqlExternalFunctionHub in project hetu-core by openlookeng.

the class TestMySqlRegisterRemoteUdf method testOverloadFunctions.

// test over load function register
@Test
public void testOverloadFunctions() {
    MysqlExternalFunctionHub externalFunctionHub = new MysqlExternalFunctionHub(new BaseJdbcConfig());
    Set<ExternalFunctionInfo> externalFunctionInfo = externalFunctionHub.getExternalFunctions();
    assertTrue(externalFunctionInfo.size() > 0);
    List<ExternalFunctionInfo> functionList = externalFunctionInfo.stream().filter(x -> x.getFunctionName().get().equals("timestamp")).collect(Collectors.toList());
    assertEquals(functionList.size(), 1);
    ExternalFunctionInfo functionInfo = functionList.get(0);
    List<String> inputArgs = functionInfo.getInputArgs();
    assertEquals(inputArgs.size(), 2);
    assertEquals(inputArgs.get(0), StandardTypes.TIMESTAMP);
    assertEquals(inputArgs.get(1), StandardTypes.TIME);
    assertEquals(functionInfo.getReturnType().get(), StandardTypes.TIMESTAMP);
    assertTrue(functionInfo.isDeterministic());
    assertFalse(functionInfo.isCalledOnNullInput());
}
Also used : List(java.util.List) StandardTypes(io.prestosql.spi.type.StandardTypes) MysqlExternalFunctionHub(io.prestosql.plugin.mysql.optimization.function.MysqlExternalFunctionHub) BaseJdbcConfig(io.prestosql.plugin.jdbc.BaseJdbcConfig) Set(java.util.Set) Assert.assertEquals(org.testng.Assert.assertEquals) Assert.assertTrue(org.testng.Assert.assertTrue) Test(org.testng.annotations.Test) ExternalFunctionInfo(io.prestosql.spi.function.ExternalFunctionInfo) Collectors(java.util.stream.Collectors) Assert.assertFalse(org.testng.Assert.assertFalse) MysqlExternalFunctionHub(io.prestosql.plugin.mysql.optimization.function.MysqlExternalFunctionHub) ExternalFunctionInfo(io.prestosql.spi.function.ExternalFunctionInfo) BaseJdbcConfig(io.prestosql.plugin.jdbc.BaseJdbcConfig) Test(org.testng.annotations.Test)

Aggregations

BaseJdbcConfig (io.prestosql.plugin.jdbc.BaseJdbcConfig)3 MysqlExternalFunctionHub (io.prestosql.plugin.mysql.optimization.function.MysqlExternalFunctionHub)3 ExternalFunctionInfo (io.prestosql.spi.function.ExternalFunctionInfo)3 StandardTypes (io.prestosql.spi.type.StandardTypes)3 List (java.util.List)3 Set (java.util.Set)3 Collectors (java.util.stream.Collectors)3 Assert.assertEquals (org.testng.Assert.assertEquals)3 Assert.assertFalse (org.testng.Assert.assertFalse)3 Assert.assertTrue (org.testng.Assert.assertTrue)3 Test (org.testng.annotations.Test)3