org.infinispan.persistence.jdbc.table.management.MySQLTableManager Maven / Gradle / Ivy
package org.infinispan.persistence.jdbc.table.management;
import org.infinispan.persistence.jdbc.configuration.TableManipulationConfiguration;
import org.infinispan.persistence.jdbc.connectionfactory.ConnectionFactory;
import org.infinispan.persistence.jdbc.logging.Log;
import org.infinispan.util.logging.LogFactory;
/**
* @author Ryan Emerson
*/
class MySQLTableManager extends AbstractTableManager {
private static final Log LOG = LogFactory.getLog(MySQLTableManager.class, Log.class);
MySQLTableManager(ConnectionFactory connectionFactory, TableManipulationConfiguration config, DbMetaData metaData) {
super(connectionFactory, config, metaData, LOG);
identifierQuoteString = "`";
}
@Override
public int getFetchSize() {
return Integer.MIN_VALUE;
}
@Override
public String getUpsertRowSql() {
if (upsertRowSql == null) {
// Assumes that config.idColumnName is the primary key
upsertRowSql = String.format("%1$s ON DUPLICATE KEY UPDATE %2$s = VALUES(%2$s), %3$s = VALUES(%3$s)", getInsertRowSql(),
config.dataColumnName(), config.timestampColumnName());
}
return upsertRowSql;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy