private static void bindValue()

in connectors/rocketmq-connect-doris/src/main/java/org/apache/rocketmq/connect/doris/sink/DorisDialect.java [67:124]


    private static void bindValue(Map<String, String> keyValue, Field field, Object value) {
        switch (field.getSchema().getFieldType()) {
            case INT8:
            case BOOLEAN:
            case FLOAT64:
            case INT32:
            case INT64:
            case FLOAT32:
                if (value == null) {
                    keyValue.put(field.getName(), "null");
                } else {
                    keyValue.put(field.getName(), value.toString());
                }
                break;
            case STRING:
                if (value == null) {
                    keyValue.put(field.getName(), "null");
                } else {
                    keyValue.put(field.getName(), (String) value);
                }
                break;
            case BYTES:
                if (value == null) {
                    keyValue.put(field.getName(), "null");
                } else {
                    final byte[] bytes;
                    if (value instanceof ByteBuffer) {
                        final ByteBuffer buffer = ((ByteBuffer) value).slice();
                        bytes = new byte[buffer.remaining()];
                        buffer.get(bytes);
                    } else if (value instanceof BigDecimal) {
                        keyValue.put(field.getName(), value.toString());
                        break;
                    } else {
                        bytes = (byte[]) value;
                    }
                    keyValue.put(field.getName(), Arrays.toString(bytes));
                }
                break;
            case DATETIME:
                if (value == null) {
                    keyValue.put(field.getName(), "null");
                } else {
                    java.sql.Date date;
                    if (value instanceof java.util.Date) {
                        date = new java.sql.Date(((java.util.Date) value).getTime());
                    } else {
                        date = new java.sql.Date((int) value);
                    }
                    keyValue.put(
                            field.getName(), date.toString()
                    );
                }
                break;
            default:
                throw new TableAlterOrCreateException("Field type not found " + field);
        }
    }