本文整理了Java中com.facebook.presto.metadata.Metadata.getType()
方法的一些代码示例,展示了Metadata.getType()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Metadata.getType()
方法的具体详情如下:
包路径:com.facebook.presto.metadata.Metadata
类名称:Metadata
方法名:getType
暂无
代码示例来源:origin: prestodb/presto
private static Optional<Symbol> newGeometrySymbol(Context context, Expression expression, Metadata metadata)
{
if (expression instanceof SymbolReference) {
return Optional.empty();
}
return Optional.of(context.getSymbolAllocator().newSymbol(expression, metadata.getType(GEOMETRY_TYPE_SIGNATURE)));
}
代码示例来源:origin: prestodb/presto
protected Function<Column, Type> columnTypeGetter()
{
return column -> {
String typeName = column.getType();
Type type = prestoServer.getMetadata().getType(parseTypeSignature(typeName));
if (type == null) {
throw new AssertionError("Unhandled type: " + typeName);
}
return type;
};
}
}
代码示例来源:origin: prestodb/presto
private boolean isIntegralType(TypeSignature targetType)
{
switch (targetType.getBase()) {
case StandardTypes.BIGINT:
case StandardTypes.INTEGER:
case StandardTypes.SMALLINT:
case StandardTypes.TINYINT:
return true;
case StandardTypes.DECIMAL:
DecimalType decimalType = (DecimalType) metadata.getType(targetType);
return decimalType.getScale() == 0;
default:
return false;
}
}
代码示例来源:origin: prestodb/presto
@Override
protected Type _deserialize(String value, DeserializationContext context)
{
Type type = metadata.getType(parseTypeSignature(value));
if (type == null) {
throw new IllegalArgumentException(String.valueOf("Unknown type " + value));
}
return type;
}
}
代码示例来源:origin: prestodb/presto
private ColumnStatisticsAggregation createAggregation(QualifiedName functionName, SymbolReference input, Type inputType, Type outputType)
{
Signature signature = metadata.getFunctionRegistry().resolveFunction(functionName, TypeSignatureProvider.fromTypes(ImmutableList.of(inputType)));
Type resolvedType = metadata.getType(getOnlyElement(signature.getArgumentTypes()));
verify(resolvedType.equals(inputType), "resolved function input type does not match the input type: %s != %s", resolvedType, inputType);
return new ColumnStatisticsAggregation(
new AggregationNode.Aggregation(
new FunctionCall(functionName, ImmutableList.of(input)),
signature,
Optional.empty()),
outputType);
}
代码示例来源:origin: prestodb/presto
@Test
public void testRowTypeLookup()
{
functionAssertions.getMetadata().getType(parseTypeSignature("row(a bigint)"));
Type type = functionAssertions.getMetadata().getType(parseTypeSignature("row(b bigint)"));
assertEquals(type.getTypeSignature().getParameters().size(), 1);
assertEquals(type.getTypeSignature().getParameters().get(0).getNamedTypeSignature().getName().get(), "b");
}
代码示例来源:origin: prestodb/presto
Type type = metadata.getType(argument.getType());
checkCondition(type != null, INVALID_PROCEDURE_DEFINITION, "Unknown procedure argument type: %s", argument.getType());
代码示例来源:origin: prestodb/presto
@VisibleForTesting
public static final class ExtractSpatialLeftJoin
implements Rule<JoinNode>
{
private static final Pattern<JoinNode> PATTERN = join().matching(node -> node.getCriteria().isEmpty() && node.getFilter().isPresent() && node.getType() == LEFT);
private final Metadata metadata;
private final SplitManager splitManager;
private final PageSourceManager pageSourceManager;
private final SqlParser sqlParser;
public ExtractSpatialLeftJoin(Metadata metadata, SplitManager splitManager, PageSourceManager pageSourceManager, SqlParser sqlParser)
{
this.metadata = requireNonNull(metadata, "metadata is null");
this.splitManager = requireNonNull(splitManager, "splitManager is null");
this.pageSourceManager = requireNonNull(pageSourceManager, "pageSourceManager is null");
this.sqlParser = requireNonNull(sqlParser, "sqlParser is null");
}
@Override
public boolean isEnabled(Session session)
{
return isSpatialJoinEnabled(session);
}
@Override
public Pattern<JoinNode> getPattern()
{
return PATTERN;
}
代码示例来源:origin: prestodb/presto
if (name.toString().equals(NAME) && call.getArguments().size() == 1) {
Expression geometry = getOnlyElement(call.getArguments());
Symbol envelopeSymbol = context.getSymbolAllocator().newSymbol("envelope", metadata.getType(GEOMETRY_TYPE_SIGNATURE));
if (geometry instanceof FunctionCall && ((FunctionCall) geometry).getName().toString().equalsIgnoreCase("ST_Envelope")) {
envelopeAssignments.put(envelopeSymbol, geometry);
代码示例来源:origin: prestodb/presto
@Override
protected Object visitGenericLiteral(GenericLiteral node, ConnectorSession session)
{
Type type = metadata.getType(parseTypeSignature(node.getType()));
if (type == null) {
throw new SemanticException(TYPE_MISMATCH, node, "Unknown type: " + node.getType());
}
if (JSON.equals(type)) {
Signature operatorSignature = new Signature("json_parse", SCALAR, JSON.getTypeSignature(), VARCHAR.getTypeSignature());
return functionInvoker.invoke(operatorSignature, session, ImmutableList.of(utf8Slice(node.getValue())));
}
try {
Signature signature = metadata.getFunctionRegistry().getCoercion(VARCHAR, type);
return functionInvoker.invoke(signature, session, ImmutableList.of(utf8Slice(node.getValue())));
}
catch (IllegalArgumentException e) {
throw new SemanticException(TYPE_MISMATCH, node, "No literal form for type %s", type);
}
}
代码示例来源:origin: prestodb/presto
Type type;
try {
type = metadata.getType(parseTypeSignature(column.getType()));
代码示例来源:origin: prestodb/presto
Type type;
try {
type = metadata.getType(parseTypeSignature(element.getType()));
代码示例来源:origin: prestodb/presto
Type targetType = metadata.getType(parseTypeSignature(node.getType()));
if (targetType == null) {
throw new IllegalArgumentException("Unsupported type: " + node.getType());
代码示例来源:origin: com.facebook.presto/presto-tests
protected Function<Column, Type> columnTypeGetter()
{
return column -> {
String typeName = column.getType();
Type type = prestoServer.getMetadata().getType(parseTypeSignature(typeName));
if (type == null) {
throw new AssertionError("Unhandled type: " + typeName);
}
return type;
};
}
}
代码示例来源:origin: uk.co.nichesolutions.presto/presto-main
@Test
public void testRowTypeLookup()
throws Exception
{
functionAssertions.getMetadata().getType(parseTypeSignature("row<bigint>('a')"));
Type type = functionAssertions.getMetadata().getType(parseTypeSignature("row<bigint>('b')"));
assertEquals(type.getTypeSignature().getParameters().size(), 1);
assertEquals(type.getTypeSignature().getParameters().get(0).getNamedTypeSignature().getName(), "b");
}
代码示例来源:origin: uk.co.nichesolutions.presto/presto-main
@Override
public CompletableFuture<?> execute(AddColumn statement, TransactionManager transactionManager, Metadata metadata, AccessControl accessControl, QueryStateMachine stateMachine)
{
Session session = stateMachine.getSession();
QualifiedObjectName tableName = createQualifiedObjectName(session, statement, statement.getName());
Optional<TableHandle> tableHandle = metadata.getTableHandle(session, tableName);
if (!tableHandle.isPresent()) {
throw new SemanticException(MISSING_TABLE, statement, "Table '%s' does not exist", tableName);
}
accessControl.checkCanAddColumns(session.getRequiredTransactionId(), session.getIdentity(), tableName);
Map<String, ColumnHandle> columnHandles = metadata.getColumnHandles(session, tableHandle.get());
TableElement element = statement.getColumn();
Type type = metadata.getType(parseTypeSignature(element.getType()));
if ((type == null) || type.equals(UNKNOWN)) {
throw new SemanticException(TYPE_MISMATCH, element, "Unknown type for column '%s' ", element.getName());
}
if (columnHandles.containsKey(element.getName())) {
throw new SemanticException(COLUMN_ALREADY_EXISTS, statement, "Column '%s' already exists", element.getName());
}
metadata.addColumn(session, tableHandle.get(), new ColumnMetadata(element.getName(), type));
return completedFuture(null);
}
}
代码示例来源:origin: uk.co.nichesolutions.presto/presto-main
Type type = metadata.getType(parseTypeSignature(element.getType()));
if ((type == null) || type.equals(UNKNOWN)) {
throw new SemanticException(TYPE_MISMATCH, element, "Unknown type for column '%s' ", element.getName());
代码示例来源:origin: uk.co.nichesolutions.presto/presto-main
@Override
protected Object visitGenericLiteral(GenericLiteral node, ConnectorSession session)
Type type = metadata.getType(parseTypeSignature(node.getType()));
if (type == null) {
throw new SemanticException(TYPE_MISMATCH, node, "Unknown type: " + node.getType());
代码示例来源:origin: uk.co.nichesolutions.presto/presto-main
Type type = metadata.getType(parseTypeSignature(node.getType()));
if (type == null) {
throw new IllegalArgumentException("Unsupported type: " + node.getType());
内容来源于网络,如有侵权,请联系作者删除!