@Override
 public void registerExportables(Database database) {
   databaseStructure.registerExportables(database);
 }
 @Override
 public Object generatorKey() {
   return databaseStructure.getName();
 }
 @Override
 public String[] sqlDropStrings(Dialect dialect) throws HibernateException {
   return databaseStructure.sqlDropStrings(dialect);
 }
 @Override
 public Serializable generate(SharedSessionContractImplementor session, Object object)
     throws HibernateException {
   return optimizer.generate(databaseStructure.buildCallback(session));
 }