mirror of
https://github.com/LuckPerms/LuckPerms.git
synced 2024-11-24 11:38:40 +01:00
Apply table prefix to the SQL messenger
This commit is contained in:
parent
b8da286f64
commit
0150da94a8
@ -49,15 +49,16 @@ public abstract class AbstractSqlMessenger implements Messenger {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected abstract Connection getConnection() throws SQLException;
|
protected abstract Connection getConnection() throws SQLException;
|
||||||
|
protected abstract String getTableName();
|
||||||
|
|
||||||
public void init() throws SQLException {
|
public void init() throws SQLException {
|
||||||
try (Connection c = getConnection()) {
|
try (Connection c = getConnection()) {
|
||||||
// init table
|
// init table
|
||||||
try (PreparedStatement ps = c.prepareStatement("CREATE TABLE IF NOT EXISTS `luckperms_messages` (`id` INT AUTO_INCREMENT NOT NULL, `time` TIMESTAMP NOT NULL, `msg` TEXT NOT NULL, PRIMARY KEY (`id`))")) {
|
try (PreparedStatement ps = c.prepareStatement("CREATE TABLE IF NOT EXISTS `" + getTableName() + "` (`id` INT AUTO_INCREMENT NOT NULL, `time` TIMESTAMP NOT NULL, `msg` TEXT NOT NULL, PRIMARY KEY (`id`))")) {
|
||||||
ps.execute();
|
ps.execute();
|
||||||
}
|
}
|
||||||
// pull last id
|
// pull last id
|
||||||
try (PreparedStatement ps = c.prepareStatement("SELECT MAX(`id`) as `latest` FROM `luckperms_messages`")) {
|
try (PreparedStatement ps = c.prepareStatement("SELECT MAX(`id`) as `latest` FROM `" + getTableName() + "`")) {
|
||||||
try (ResultSet rs = ps.executeQuery()) {
|
try (ResultSet rs = ps.executeQuery()) {
|
||||||
if (rs.next()) {
|
if (rs.next()) {
|
||||||
this.lastId = rs.getLong("latest");
|
this.lastId = rs.getLong("latest");
|
||||||
@ -70,7 +71,7 @@ public abstract class AbstractSqlMessenger implements Messenger {
|
|||||||
@Override
|
@Override
|
||||||
public void sendOutgoingMessage(@Nonnull OutgoingMessage outgoingMessage) {
|
public void sendOutgoingMessage(@Nonnull OutgoingMessage outgoingMessage) {
|
||||||
try (Connection c = getConnection()) {
|
try (Connection c = getConnection()) {
|
||||||
try (PreparedStatement ps = c.prepareStatement("INSERT INTO luckperms_messages(`time`, `msg`) VALUES(NOW(), ?)")) {
|
try (PreparedStatement ps = c.prepareStatement("INSERT INTO " + getTableName() + "(`time`, `msg`) VALUES(NOW(), ?)")) {
|
||||||
ps.setString(1, outgoingMessage.asEncodedString());
|
ps.setString(1, outgoingMessage.asEncodedString());
|
||||||
ps.execute();
|
ps.execute();
|
||||||
}
|
}
|
||||||
@ -81,7 +82,7 @@ public abstract class AbstractSqlMessenger implements Messenger {
|
|||||||
|
|
||||||
public void pollMessages() {
|
public void pollMessages() {
|
||||||
try (Connection c = getConnection()) {
|
try (Connection c = getConnection()) {
|
||||||
try (PreparedStatement ps = c.prepareStatement("SELECT `id`, `msg` FROM luckperms_messages WHERE `id` > ? AND (NOW() - `time` > 60)")) {
|
try (PreparedStatement ps = c.prepareStatement("SELECT `id`, `msg` FROM " + getTableName() + " WHERE `id` > ? AND (NOW() - `time` > 60)")) {
|
||||||
ps.setLong(1, this.lastId);
|
ps.setLong(1, this.lastId);
|
||||||
try (ResultSet rs = ps.executeQuery()) {
|
try (ResultSet rs = ps.executeQuery()) {
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
@ -100,7 +101,7 @@ public abstract class AbstractSqlMessenger implements Messenger {
|
|||||||
|
|
||||||
public void runHousekeeping() {
|
public void runHousekeeping() {
|
||||||
try (Connection c = getConnection()) {
|
try (Connection c = getConnection()) {
|
||||||
try (PreparedStatement ps = c.prepareStatement("DELETE FROM luckperms_messages WHERE (NOW() - `time` > 60)")) {
|
try (PreparedStatement ps = c.prepareStatement("DELETE FROM " + getTableName() + " WHERE (NOW() - `time` > 60)")) {
|
||||||
ps.execute();
|
ps.execute();
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
|
@ -82,4 +82,9 @@ public class SqlMessenger extends AbstractSqlMessenger {
|
|||||||
protected Connection getConnection() throws SQLException {
|
protected Connection getConnection() throws SQLException {
|
||||||
return this.sqlDao.getProvider().getConnection();
|
return this.sqlDao.getProvider().getConnection();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getTableName() {
|
||||||
|
return this.sqlDao.getPrefix().apply("{prefix}_messages");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user