Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,18 @@
*/
package io.flamingock.store.sql.internal;

import io.flamingock.internal.common.sql.AbstractSqlDialectHelper;
import io.flamingock.internal.common.sql.SqlDialectFactory;
import io.flamingock.internal.common.sql.SqlDialect;

import java.sql.Connection;
import java.sql.SQLException;

public final class SqlAuditorDialectHelper extends AbstractSqlDialectHelper {
public final class SqlAuditorDialectHelper {

public SqlAuditorDialectHelper(Connection connection) {
super(connection);
}
final private SqlDialect sqlDialect;

public SqlAuditorDialectHelper(SqlDialect dialect) {
super(dialect);
public SqlAuditorDialectHelper(Connection connection) throws SQLException {
this.sqlDialect = SqlDialectFactory.getSqlDialect(connection);
}

public String getCreateTableSqlString(String tableName) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,20 @@
*/
package io.flamingock.store.sql.internal;

import io.flamingock.internal.common.sql.AbstractSqlDialectHelper;
import io.flamingock.internal.common.sql.SqlDialectFactory;
import io.flamingock.internal.common.sql.SqlDialect;
import io.flamingock.internal.core.external.store.lock.LockStatus;

import java.sql.*;
import java.time.LocalDateTime;
import java.util.Objects;

public final class SqlLockDialectHelper extends AbstractSqlDialectHelper {
public final class SqlLockDialectHelper {

public SqlLockDialectHelper(Connection connection) {
super(connection);
}
final private SqlDialect sqlDialect;

public SqlLockDialectHelper(SqlDialect dialect) {
super(dialect);
public SqlLockDialectHelper(Connection connection) throws SQLException {
this.sqlDialect = SqlDialectFactory.getSqlDialect(connection);
}

public String getCreateTableSqlString(String tableName) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,22 @@
*/
package io.flamingock.targetsystem.sql;

import io.flamingock.internal.common.sql.AbstractSqlDialectHelper;
import io.flamingock.internal.common.sql.SqlDialectFactory;
import io.flamingock.internal.common.sql.SqlDialect;

import java.sql.Connection;
import java.sql.SQLException;

public final class SqlAuditMarkerDialectHelper extends AbstractSqlDialectHelper {
public final class SqlAuditMarkerDialectHelper {

public SqlAuditMarkerDialectHelper(Connection connection) {
super(connection);
final private SqlDialect sqlDialect;

public SqlAuditMarkerDialectHelper(Connection connection) throws SQLException {
this.sqlDialect = SqlDialectFactory.getSqlDialect(connection);
}

public SqlAuditMarkerDialectHelper(SqlDialect dialect) {
super(dialect);
public SqlAuditMarkerDialectHelper(SqlDialect sqlDialect) {
this.sqlDialect = sqlDialect;
}

public String getListAllSqlString(String tableName) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,27 +18,17 @@
import java.sql.Connection;
import java.sql.SQLException;

public class AbstractSqlDialectHelper {
public final class SqlDialectFactory {

protected final SqlDialect sqlDialect;

public AbstractSqlDialectHelper(SqlDialect sqlDialect) {
this.sqlDialect = sqlDialect;
}

public AbstractSqlDialectHelper(Connection connection) {
public static SqlDialect getSqlDialect(Connection connection) {
try {
sqlDialect = fromDatabaseProductName(connection.getMetaData().getDatabaseProductName());
return fromDatabaseProductName(connection.getMetaData().getDatabaseProductName());
} catch (SQLException e) {
throw new IllegalStateException("Unable to obtain database product name from DataSource", e);
throw new IllegalStateException("Failed to determine SQL dialect from database metadata", e);
}
}

public SqlDialect getSqlDialect() {
return sqlDialect;
}

private SqlDialect fromDatabaseProductName(String productName) {
private static SqlDialect fromDatabaseProductName(String productName) {
if (productName == null) {
throw new IllegalArgumentException("Database product name is null; cannot determine SQL dialect.");
}
Expand Down
Loading