fix: missing table trigger name (#187)

This commit is contained in:
vran
2022-05-17 13:37:19 +08:00
committed by GitHub
parent 34e4091f01
commit d39eda36f7
8 changed files with 129 additions and 61 deletions

View File

@@ -12,6 +12,7 @@ import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@Slf4j
public class MysqlTableTriggerMetaProvider implements TriggerMetaProvider {
@@ -45,7 +46,7 @@ public class MysqlTableTriggerMetaProvider implements TriggerMetaProvider {
ResultSet results = preparedStatement.executeQuery();
List<TriggerMeta> triggers = new ArrayList<>();
while (results.next()) {
String name = results.getString("TRIGGER_NAME");
String name = Objects.requireNonNullElse(results.getString("TRIGGER_NAME"), "");
String statement = results.getString("ACTION_STATEMENT");
String timing = results.getString("ACTION_TIMING");
String manipulation = results.getString("EVENT_MANIPULATION");

View File

@@ -12,6 +12,7 @@ import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@Slf4j
public class PostgresqlTriggerMetaProvider implements TriggerMetaProvider {
@@ -37,7 +38,7 @@ public class PostgresqlTriggerMetaProvider implements TriggerMetaProvider {
ResultSet results = preparedStatement.executeQuery();
List<TriggerMeta> triggers = new ArrayList<>();
while (results.next()) {
String name = results.getString("name");
String name = Objects.requireNonNullElse(results.getString("name"), "");
String statement = results.getString("statement");
String timing = results.getString("timing");
String manipulation = results.getString("manipulation");

View File

@@ -11,6 +11,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@Slf4j
public class SqlServerTriggerMetaProvider implements TriggerMetaProvider {
@@ -56,7 +57,7 @@ public class SqlServerTriggerMetaProvider implements TriggerMetaProvider {
preparedStatement.setString(2, condition.getTableName());
ResultSet resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
String triggerName = resultSet.getString("trigger_name");
String triggerName = Objects.requireNonNullElse(resultSet.getString("trigger_name"), "");
String timing = resultSet.getString("timing");
String manipulation = resultSet.getString("manipulation");
String statement = resultSet.getString("statement");