Skip to content

Commit cb0b614

Browse files
authored
Merge pull request OtterMind#1182 from openai0229/issue#1135
transaction support
2 parents c2b5fed + 8ba00fe commit cb0b614

3 files changed

Lines changed: 15 additions & 7 deletions

File tree

chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/MysqlDBManage.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,18 @@
1111

1212
public class MysqlDBManage extends DefaultDBManage implements DBManage {
1313
@Override
14-
public void updateProcedure(Connection connection, String databaseName, String schemaName, Procedure procedure) {
15-
String sql = "DROP PROCEDURE " + procedure.getProcedureName();
16-
SQLExecutor.getInstance().execute(connection, sql, resultSet -> {});
17-
String procedureBody = procedure.getProcedureBody();
18-
SQLExecutor.getInstance().execute(connection, procedureBody, resultSet -> {});
14+
public void updateProcedure(Connection connection, String databaseName, String schemaName, Procedure procedure) throws SQLException {
15+
try {
16+
connection.setAutoCommit(false);
17+
String sql = "DROP PROCEDURE " + procedure.getProcedureName();
18+
SQLExecutor.getInstance().execute(connection, sql, resultSet -> {});
19+
String procedureBody = procedure.getProcedureBody();
20+
SQLExecutor.getInstance().execute(connection, procedureBody, resultSet -> {});
21+
connection.commit();
22+
} catch (Exception e) {
23+
connection.rollback();
24+
throw new RuntimeException(e);
25+
}
1926

2027
}
2128

chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/DBManage.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import jakarta.validation.constraints.NotNull;
88

99
import java.sql.Connection;
10+
import java.sql.SQLException;
1011

1112
/**
1213
* @author jipengfei
@@ -119,5 +120,5 @@ void dropProcedure(Connection connection, @NotEmpty String databaseName, String
119120
* @param schemaName
120121
* @param procedure
121122
*/
122-
void updateProcedure(Connection connection, @NotEmpty String databaseName, String schemaName, @NotNull Procedure procedure);
123+
void updateProcedure(Connection connection, @NotEmpty String databaseName, String schemaName, @NotNull Procedure procedure) throws SQLException;
123124
}

chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/jdbc/DefaultDBManage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public void dropProcedure(Connection connection, String databaseName, String sch
135135
}
136136

137137
@Override
138-
public void updateProcedure(Connection connection, String databaseName, String schemaName, Procedure procedure) {
138+
public void updateProcedure(Connection connection, String databaseName, String schemaName, Procedure procedure) throws SQLException {
139139

140140
}
141141

0 commit comments

Comments
 (0)