JDBC Sampler: add Commit, Rollback and Autocommit

git-svn-id: https://svn.apache.org/repos/asf/jakarta/jmeter/branches/rel-2-2@534651 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Sebastian Bazley 2007-05-02 23:22:58 +00:00
parent b0acab8fb0
commit 1347e67bb4
3 changed files with 28 additions and 1 deletions

View File

@ -82,6 +82,10 @@ public class JDBCSampler extends AbstractSampler implements TestBean {
static final String CALLABLE = "Callable Statement"; // $NON-NLS-1$
static final String PREPARED_SELECT = "Prepared Select Statement"; // $NON-NLS-1$
static final String PREPARED_UPDATE = "Prepared Update Statement"; // $NON-NLS-1$
static final String COMMIT = "Commit"; // $NON-NLS-1$
static final String ROLLBACK = "Rollback"; // $NON-NLS-1$
static final String AUTOCOMMIT_FALSE = "AutoCommit(false)"; // $NON-NLS-1$
static final String AUTOCOMMIT_TRUE = "AutoCommit(true)"; // $NON-NLS-1$
private String query = ""; // $NON-NLS-1$
@ -183,6 +187,18 @@ public class JDBCSampler extends AbstractSampler implements TestBean {
pstmt.executeUpdate();
String sb = resultSetsToString(pstmt,false);
res.setResponseData(sb.toString().getBytes());
} else if (ROLLBACK.equals(_queryType)){
conn.rollback();
res.setResponseData(ROLLBACK.getBytes());
} else if (COMMIT.equals(_queryType)){
conn.commit();
res.setResponseData(COMMIT.getBytes());
} else if (AUTOCOMMIT_FALSE.equals(_queryType)){
conn.setAutoCommit(false);
res.setResponseData(AUTOCOMMIT_FALSE.getBytes());
} else if (AUTOCOMMIT_TRUE.equals(_queryType)){
conn.setAutoCommit(true);
res.setResponseData(AUTOCOMMIT_TRUE.getBytes());
} else { // User provided incorrect query type
String results="Unexpected query type: "+_queryType;
res.setResponseMessage(results);

View File

@ -67,7 +67,17 @@ public class JDBCSamplerBeanInfo extends BeanInfoSupport {
p.setValue(NOT_UNDEFINED, Boolean.TRUE);
p.setValue(DEFAULT, JDBCSampler.SELECT);
p.setValue(NOT_OTHER,Boolean.TRUE);
p.setValue(TAGS,new String[]{JDBCSampler.SELECT,JDBCSampler.UPDATE,JDBCSampler.CALLABLE, JDBCSampler.PREPARED_SELECT, JDBCSampler.PREPARED_UPDATE});
p.setValue(TAGS,new String[]{
JDBCSampler.SELECT,
JDBCSampler.UPDATE,
JDBCSampler.CALLABLE,
JDBCSampler.PREPARED_SELECT,
JDBCSampler.PREPARED_UPDATE,
JDBCSampler.COMMIT,
JDBCSampler.ROLLBACK,
JDBCSampler.AUTOCOMMIT_FALSE,
JDBCSampler.AUTOCOMMIT_TRUE,
});
p = property("query"); // $NON-NLS-1$
p.setValue(NOT_UNDEFINED, Boolean.TRUE);

View File

@ -137,6 +137,7 @@ Removed deprecated method JMeterUtils.split() - use JOrphanUtils version instead
<li>Bug 40369 - LDAP: Stable search results in sampler</li>
<li>Bug 36755 - Save XML test files with UTF-8 encoding</li>
<li>Bug 42223 - Add ability to upload files via FTP</li>
<li>Extend JDBC Sampler: Commit, Rollback, AutoCommit</li>
</ul>
<h4>Non-functional improvements:</h4>