private List<RelDataType> toSql(List<RelDataType> types) { return Lists.transform( types, new com.google.common.base.Function<RelDataType, RelDataType>() { public RelDataType apply(RelDataType input) { if (input instanceof RelDataTypeFactoryImpl.JavaType && ((RelDataTypeFactoryImpl.JavaType) input).getJavaClass() == Object.class) { return typeFactory.createSqlType(SqlTypeName.ANY); } return typeFactory.toSql(input); } }); }
private Collection<Function> getFunctionsFrom(List<String> names) { final List<Function> functions2 = Lists.newArrayList(); final List<? extends List<String>> schemaNameList; if (names.size() > 1) { // If name is qualified, ignore path. schemaNameList = ImmutableList.of(ImmutableList.<String>of()); } else { OptiqSchema schema = getSchema(defaultSchema); if (schema == null) { schemaNameList = ImmutableList.of(); } else { schemaNameList = schema.getPath(); } } for (List<String> schemaNames : schemaNameList) { OptiqSchema schema = getSchema(Iterables.concat(schemaNames, Util.skipLast(names))); if (schema != null) { final String name = Util.last(names); functions2.addAll(schema.getFunctions(name, true)); } } return functions2; }