package ca.sqlpower.sql;
import java.sql.SQLException;
import org.apache.log4j.Logger;
/**
* Converts SQLExceptions from PostgreSQL into SQLPower error numbers.
*/
public class PostgreSQLErrorConverter extends AbstractErrorConverter {
private final static Logger logger = Logger.getLogger(PostgreSQLErrorConverter.class);
public int convert(SQLException e) {
String state = e.getSQLState();
logger.debug("SQL STATE = " + state);
if ("28000".equals(state))
return INVALID_LOGON;
if ("42703".equals(state))
return UNKNOWN_COLUMN; // postgresql 8.x, proto version 3
switch (e.getErrorCode()) {
default:
return UNKNOWN_ERROR;
}
}
}