Hi guys,

do you know if we ever supported escaping with our dictionnaries. This test
fails replacing expected ` by ":

@Test
public void testIdentifierEscaping() {
    final DBDictionary db = new MySQLDictionary();
    db.setConfiguration(new JDBCConfigurationImpl());
    final DBIdentifierUtil namingUtil = db.getNamingUtil();
    final Table table = new Table();
    final DBIdentifier tableId = DBIdentifier.newTable("test forced escaping",
            db.getDelimitIdentifiers());
    final Schema schema = new Schema();
    table.setIdentifier(namingUtil.getValidTableIdentifier(tableId,
schema, 1024));
    table.addColumn(namingUtil.getValidColumnIdentifier(
            DBIdentifier.newColumn("here-too",
db.getDelimitIdentifiers()), table, 1024, false))
         .setType(Types.VARCHAR);
    final String sql = db.getCreateTableSQL(table)[0];
    assertEquals("CREATE TABLE `test forced escaping` (`here-too`
VARCHAR) ENGINE = innodb", sql);
}


This is all because DBIdentifier#setName methods are static and use a
default escaping (static :s).

Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://rmannibucau.metawerx.net/> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
<https://www.packtpub.com/application-development/java-ee-8-high-performance>

Reply via email to