Merge lp:~trond-norbye/drizzle-jdbc/trunk into lp:drizzle-jdbc

Proposed by Trond Norbye
Status: Merged
Merged at revision: not available
Proposed branch: lp:~trond-norbye/drizzle-jdbc/trunk
Merge into: lp:drizzle-jdbc
Diff against target: None lines
To merge this branch: bzr merge lp:~trond-norbye/drizzle-jdbc/trunk
Reviewer Review Type Date Requested Status
Marcus Eriksson Approve
Review via email: mp+6774@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Trond Norbye (trond-norbye) wrote :

Fixed #380204 by replacing the ArrayList with a Map

Revision history for this message
Marcus Eriksson (krummas) :
review: Approve
lp:~trond-norbye/drizzle-jdbc/trunk updated
105. By Marcus Eriksson <email address hidden>

merge trondn

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/main/java/org/drizzle/jdbc/internal/common/query/DrizzleParameterizedQuery.java'
--- src/main/java/org/drizzle/jdbc/internal/common/query/DrizzleParameterizedQuery.java 2009-05-17 19:00:27 +0000
+++ src/main/java/org/drizzle/jdbc/internal/common/query/DrizzleParameterizedQuery.java 2009-05-25 10:45:44 +0000
@@ -14,8 +14,8 @@
14import org.drizzle.jdbc.internal.common.QueryException;14import org.drizzle.jdbc.internal.common.QueryException;
1515
16import java.io.*;16import java.io.*;
17import java.util.ArrayList;17import java.util.HashMap;
18import java.util.List;18import java.util.Map;
19import java.util.logging.Logger;19import java.util.logging.Logger;
2020
21/**21/**
@@ -27,7 +27,7 @@
27 */27 */
28public class DrizzleParameterizedQuery implements ParameterizedQuery {28public class DrizzleParameterizedQuery implements ParameterizedQuery {
29 private final static Logger log = Logger.getLogger(DrizzleParameterizedQuery.class.toString());29 private final static Logger log = Logger.getLogger(DrizzleParameterizedQuery.class.toString());
30 private List<ParameterHolder> parameters;30 private Map<Integer, ParameterHolder> parameters;
31 private final int paramCount;31 private final int paramCount;
32 private final String query;32 private final String query;
3333
@@ -35,21 +35,21 @@
35 this.query=query;35 this.query=query;
36 this.paramCount=countChars(query,'?');36 this.paramCount=countChars(query,'?');
37 log.finest("Found "+paramCount+" questionmarks");37 log.finest("Found "+paramCount+" questionmarks");
38 parameters=new ArrayList<ParameterHolder>(paramCount);38 parameters=new HashMap<Integer, ParameterHolder>();
39 }39 }
40 40
41 public DrizzleParameterizedQuery(ParameterizedQuery query) {41 public DrizzleParameterizedQuery(ParameterizedQuery query) {
42 this.query=query.getQuery();42 this.query=query.getQuery();
43 this.paramCount=query.getParamCount();43 this.paramCount=query.getParamCount();
44 parameters=new ArrayList<ParameterHolder>(paramCount);44 parameters=new HashMap<Integer, ParameterHolder>();
45 log.finest("Copying an existing parameterized query");45 log.finest("Copying an existing parameterized query");
46 }46 }
4747
48 public void setParameter(int position, ParameterHolder parameter) throws IllegalParameterException {48 public void setParameter(int position, ParameterHolder parameter) throws IllegalParameterException {
49 log.finest("Setting parameter "+parameter.toString()+" at position "+position);49 log.finest("Setting parameter "+parameter.toString()+" at position "+position);
50 if(position>=0 && position<paramCount)50 if(position>=0 && position<paramCount) {
51 this.parameters.add(position,parameter);51 parameters.put(position, parameter);
52 else52 } else
53 throw new IllegalParameterException("No '?' on that position");53 throw new IllegalParameterException("No '?' on that position");
54 }54 }
5555
@@ -59,8 +59,10 @@
5959
60 public int length() {60 public int length() {
61 int length = query.length() - paramCount; // remove the ?s61 int length = query.length() - paramCount; // remove the ?s
62 for(ParameterHolder param : parameters)62
63 length+=param.length();63 for(Map.Entry<Integer, ParameterHolder> param : parameters.entrySet())
64 length+=param.getValue().length();
65
64 return length;66 return length;
65 }67 }
6668

Subscribers

People subscribed via source and target branches

to all changes: