@Override public SqlRexConvertlet get(SqlCall call) { if (call.getKind() == SqlKind.EXTRACT && call.getOperandList().get(1).getKind() != SqlKind.LITERAL) { // Avoid using the standard convertlet for EXTRACT(TIMEUNIT FROM col), since we want to handle it directly // in ExtractOperationConversion. return BYPASS_CONVERTLET; } else { final SqlRexConvertlet convertlet = table.get(call.getOperator()); return convertlet != null ? convertlet : StandardConvertletTable.INSTANCE.get(call); } }
@Override public SqlRexConvertlet get(SqlCall call) { SqlRexConvertlet convertlet; if ((convertlet = super.get(call)) != null) { return convertlet; } return StandardConvertletTable.INSTANCE.get(call); }
@Override public SqlRexConvertlet get(SqlCall call) { if (call.getKind() == SqlKind.EXTRACT && call.getOperandList().get(1).getKind() != SqlKind.LITERAL) { // Avoid using the standard convertlet for EXTRACT(TIMEUNIT FROM col), since we want to handle it directly // in ExtractOperationConversion. return BYPASS_CONVERTLET; } else { final SqlRexConvertlet convertlet = table.get(call.getOperator()); return convertlet != null ? convertlet : StandardConvertletTable.INSTANCE.get(call); } }
@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); }