Skip to content

Commit b1125e4

Browse files
author
Evgeny Zaharchenko
committed
Fix 'The statement did not return a result set' error on UPDATE and DELETE queries #14
1 parent b6aeb47 commit b1125e4

1 file changed

Lines changed: 21 additions & 3 deletions

File tree

modules/core/src/com/haulmont/addon/admintools/core/db/ExtendedDbDiagnoseServiceBean.groovy

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import de.diedavids.cuba.runtimediagnose.diagnose.DiagnoseExecution
1212
import de.diedavids.cuba.runtimediagnose.diagnose.DiagnoseExecutionFactory
1313
import de.diedavids.cuba.runtimediagnose.diagnose.DiagnoseExecutionLogService
1414
import de.diedavids.cuba.runtimediagnose.diagnose.DiagnoseType
15+
import groovy.sql.Sql
1516

1617
import javax.inject.Inject
1718

@@ -39,6 +40,7 @@ class ExtendedDbDiagnoseServiceBean extends DbDiagnoseServiceBean {
3940
/*
4041
* deleted analyse query
4142
*/
43+
4244
@Override
4345
DbQueryResult runSqlDiagnose(String queryString, DiagnoseType diagnoseType) {
4446
DiagnoseExecution diagnoseExecution = createAdHocDiagnose(queryString, diagnoseType)
@@ -56,9 +58,25 @@ class ExtendedDbDiagnoseServiceBean extends DbDiagnoseServiceBean {
5658
dbQueryResult
5759
}
5860

59-
/**
60-
* deleted argument 'Statements queryStatements'
61-
*/
61+
@Override
62+
protected DbQueryResult executeSqlStatement(Sql sql, String queryString) {
63+
if (queryString != null) {
64+
if (queryString.toLowerCase().startsWith("select ")) {
65+
return super.executeSqlStatement(sql, queryString)
66+
} else if (queryString.toLowerCase().startsWith("update ")) {
67+
int result = sql.executeUpdate(queryString)
68+
return selectResultFactory.createFromRows(Arrays.asList(result))
69+
} else {
70+
boolean result = sql.execute(queryString)
71+
return selectResultFactory.createFromRows(Arrays.asList(result))
72+
}
73+
} else {
74+
return null;
75+
}
76+
}
77+
/**
78+
* deleted argument 'Statements queryStatements'
79+
*/
6280
protected DbQueryResult getQueryResult(DiagnoseType diagnoseType, String queryStatement) {
6381
DbQueryResult sqlSelectResult
6482
switch (diagnoseType) {

0 commit comments

Comments
 (0)