private static boolean hasObjectIdAndLiteral()

in calcite-adapter/src/main/java/software/amazon/documentdb/jdbc/calcite/adapter/DocumentDbRules.java [634:668]


    private static boolean hasObjectIdAndLiteral(
            final RexCall call,
            final List<Operand> strings) {
        final Operand objectIdOperand = strings.stream()
                .filter(operand -> operand.getColumn() != null
                        && operand.getColumn().getDbType() == BsonType.OBJECT_ID)
                .findFirst().orElse(null);
        if (objectIdOperand == null) {
            return false;
        }
        for (int index = 0; index < strings.size(); index++) {
            final Operand operand = strings.get(index);
            if (operand == objectIdOperand || !(call.operands.get(index) instanceof RexLiteral)) {
                continue;
            }
            final RexLiteral literal = (RexLiteral) call.operands.get(index);
            switch (literal.getTypeName()) {
                case BINARY:
                case VARBINARY:
                    final byte[] valueAsByteArray = getValueAs(literal, byte[].class);
                    if (valueAsByteArray.length == 12) {
                        return true;
                    }
                    break;
                case CHAR:
                case VARCHAR:
                    final String valueAsString = getValueAs(literal, String.class);
                    if (OBJECT_ID_PATTERN.matcher(valueAsString).matches()) {
                        return true;
                    }
                    break;
            }
        }
        return false;
    }