You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by js...@apache.org on 2002/05/30 16:58:31 UTC

cvs commit: jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/sql UpdateTag.java QueryTag.java

jstrachan    02/05/30 07:58:30

  Modified:    jelly/src/java/org/apache/commons/jelly/tags/sql
                        UpdateTag.java QueryTag.java
  Log:
  Applied patch suggested by Hristo to use a Statement rather than a PreparedStatement when no parameters are being used which can perform quicker on some JDBC drivers
  
  Revision  Changes    Path
  1.4       +9 -3      jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/sql/UpdateTag.java
  
  Index: UpdateTag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/sql/UpdateTag.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- UpdateTag.java	17 May 2002 15:18:09 -0000	1.3
  +++ UpdateTag.java	30 May 2002 14:58:30 -0000	1.4
  @@ -182,9 +182,15 @@
   
           int result = 0;
           try {
  -            PreparedStatement ps = conn.prepareStatement(sqlStatement);
  -            setParameters(ps, parameters);
  -            result = ps.executeUpdate();
  +            if ( parameters == null || parameters.size() == 0 ) {
  +                Statement statement = conn.createStatement();
  +                result = statement.executeUpdate(sqlStatement);
  +            }
  +            else {
  +                PreparedStatement ps = conn.prepareStatement(sqlStatement);
  +                setParameters(ps, parameters);
  +                result = ps.executeUpdate();
  +            }
               if (var != null) {
                   context.setVariable(var, new Integer(result));
               }
  
  
  
  1.8       +10 -4     jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/sql/QueryTag.java
  
  Index: QueryTag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/sql/QueryTag.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- QueryTag.java	21 May 2002 19:36:56 -0000	1.7
  +++ QueryTag.java	30 May 2002 14:58:30 -0000	1.8
  @@ -251,14 +251,20 @@
                * value for isLimitedByMaxRows(); there's no way to check
                * if it was from the ResultSet.
                */
  -            PreparedStatement ps = conn.prepareStatement(sqlStatement);
  -            setParameters(ps, parameters);
  -            
               if ( log.isDebugEnabled() ) {
                   log.debug( "About to execute query: " + sqlStatement );
               }
               
  -            ResultSet rs = ps.executeQuery();
  +            ResultSet rs = null;
  +            if ( parameters == null || parameters.size() == 0 ) {
  +                Statement statement = conn.createStatement();
  +                rs = statement.executeQuery(sqlStatement);
  +            }
  +            else {
  +                PreparedStatement ps = conn.prepareStatement(sqlStatement);
  +                setParameters(ps, parameters);            
  +                rs = ps.executeQuery();
  +            }
               
               result = new ResultImpl(rs, startRow, maxRows);
               context.setVariable(var, result);
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>