Java源码示例:org.apache.calcite.sql2rel.SqlRexConvertlet

示例1
@Override
public SqlRexConvertlet get(SqlCall call) {
  SqlRexConvertlet convertlet;
  if(call.getOperator() instanceof DrillCalciteSqlWrapper) {
    final SqlOperator wrapper = call.getOperator();
    final SqlOperator wrapped = DrillCalciteWrapperUtility.extractSqlOperatorFromWrapper(call.getOperator());
    if ((convertlet = map.get(wrapped)) != null) {
      return convertlet;
    }

    ((SqlBasicCall) call).setOperator(wrapped);
    SqlRexConvertlet sqlRexConvertlet = StandardConvertletTable.INSTANCE.get(call);
    ((SqlBasicCall) call).setOperator(wrapper);
    return sqlRexConvertlet;
  }

  if ((convertlet = map.get(call.getOperator())) != null) {
    return convertlet;
  }

  return StandardConvertletTable.INSTANCE.get(call);
}
 
示例2
@Override
public SqlRexConvertlet get(SqlCall call) {
  SqlRexConvertlet convertlet;

  if ((convertlet = super.get(call)) != null) {
    return convertlet;
  }

  return StandardConvertletTable.INSTANCE.get(call);
}
 
示例3
@Override
public SqlRexConvertlet get(SqlCall call) {
  SqlOperator operator = call.getOperator();
  if(operator.isDynamicFunction() && !WHITELIST.contains(operator)) {
    contextSensitive = true;
  }
  return delegate.get(call);
}