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);
}