@Override
    public String quoteIdentifier(String identifier) {
        if (identifier.contains(".")) {
            String[] parts = identifier.split("\\.");
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < parts.length - 1; i++) {
                sb.append("\"").append(parts[i]).append("\"").append(".");
            }
            return sb.append("\"")
                    .append(getFieldIde(parts[parts.length - 1], fieldIde))
                    .append("\"")
                    .toString();
        }

        return "\"" + getFieldIde(identifier, fieldIde) + "\"";
    }
@Test
    public void testIdentifierCaseSensitive() {
        DmdbDialectFactory factory = new DmdbDialectFactory();

        JdbcDialect dialect = factory.create();
        Assertions.assertEquals("\"test\"", dialect.quoteIdentifier("test"));
        Assertions.assertEquals("\"TEST\"", dialect.quoteIdentifier("TEST"));

        dialect = factory.create(null, FieldIdeEnum.ORIGINAL.getValue());
        Assertions.assertEquals("\"test\"", dialect.quoteIdentifier("test"));
        Assertions.assertEquals("\"TEST\"", dialect.quoteIdentifier("TEST"));

        dialect = factory.create(null, FieldIdeEnum.LOWERCASE.getValue());
        Assertions.assertEquals("\"test\"", dialect.quoteIdentifier("test"));
        Assertions.assertEquals("\"test\"", dialect.quoteIdentifier("TEST"));

        dialect = factory.create(null, FieldIdeEnum.UPPERCASE.getValue());
        Assertions.assertEquals("\"TEST\"", dialect.quoteIdentifier("test"));
        Assertions.assertEquals("\"TEST\"", dialect.quoteIdentifier("TEST"));
    }