mstover1    2005/04/15 12:55:37

  Modified:    src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler
                        JDBCSamplerBeanInfo.java
                        JDBCSamplerResources.properties JDBCSampler.java
  Log:
  Adding option in JDBC sampler to specify whether the SQL represents a query 
or an update, since it makes a difference to how JMeter executes it and how/if 
it grabs the result set.
  
  Revision  Changes    Path
  1.3       +5 -1      
jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerBeanInfo.java
  
  Index: JDBCSamplerBeanInfo.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerBeanInfo.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JDBCSamplerBeanInfo.java  21 May 2004 16:58:26 -0000      1.2
  +++ JDBCSamplerBeanInfo.java  15 Apr 2005 19:55:37 -0000      1.3
  @@ -27,7 +27,7 @@
      {
         super(JDBCSampler.class);
         
  -      createPropertyGroup("varName", new String[]{"dataSource"});
  +      createPropertyGroup("varName", new String[]{"dataSource","queryOnly"});
         
         createPropertyGroup("sql", new String[]{"query"});
         
  @@ -35,6 +35,10 @@
         p.setValue(NOT_UNDEFINED, Boolean.TRUE);
         p.setValue(DEFAULT, "");
         
  +      p = property("queryOnly");
  +      p.setValue(NOT_UNDEFINED,Boolean.TRUE);
  +      p.setValue(DEFAULT,new Boolean(true));
  +      
         p = property("query");
         p.setValue(NOT_UNDEFINED, Boolean.TRUE);
         p.setValue(DEFAULT, "");
  
  
  
  1.3       +2 -0      
jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources.properties
  
  Index: JDBCSamplerResources.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources.properties,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JDBCSamplerResources.properties   28 May 2004 21:09:14 -0000      1.2
  +++ JDBCSamplerResources.properties   15 Apr 2005 19:55:37 -0000      1.3
  @@ -3,5 +3,7 @@
   sql.displayName=SQL Query
   query.displayName=Query
   query.shortDescription=SQL Query to send to database
  +queryOnly.displayName=Query Only
  +queryOnly.shortDescription=If true, will run as a query and not as an 
update/insert.  Otherwise, run as update.
   dataSource.displayName=Variable Name
   dataSource.shortDescription=Name of the JMeter variable that the connection 
pool is bound to.
  \ No newline at end of file
  
  
  
  1.32      +20 -4     
jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSampler.java
  
  Index: JDBCSampler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSampler.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- JDBCSampler.java  4 Jan 2005 19:32:10 -0000       1.31
  +++ JDBCSampler.java  15 Apr 2005 19:55:37 -0000      1.32
  @@ -48,6 +48,7 @@
       
       public String query = "";
       public String dataSource = "";
  +    public boolean queryOnly = true;
   
       /**
        * Creates a JDBCSampler.
  @@ -79,12 +80,12 @@
               stmt = conn.createStatement();
               
               // Based on query return value, get results
  -            if (stmt.execute(getQuery()))
  +            if (isQueryOnly())
               {
                   ResultSet rs = null;
                   try
                   {
  -                    rs = stmt.getResultSet();
  +                    rs = stmt.executeQuery(getQuery());
                       Data data = getDataFromResultSet(rs);
                       res.setResponseData(data.toString().getBytes());
                   }
  @@ -105,6 +106,7 @@
               }
               else
               {
  +                stmt.execute(getQuery());
                   int updateCount = stmt.getUpdateCount();
                   String results = updateCount + " updates";
                   res.setResponseData(results.getBytes());
  @@ -221,4 +223,18 @@
      {
         this.dataSource = dataSource;
      }
  +
  +/**
  + * @return Returns the queryOnly.
  + */
  +public boolean isQueryOnly() {
  +    return queryOnly;
  +}
  +
  +/**
  + * @param queryOnly The queryOnly to set.
  + */
  +public void setQueryOnly(boolean queryOnly) {
  +    this.queryOnly = queryOnly;
  +}
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to