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
1=== modified file 'src/main/java/org/drizzle/jdbc/internal/common/query/DrizzleParameterizedQuery.java'
2--- src/main/java/org/drizzle/jdbc/internal/common/query/DrizzleParameterizedQuery.java 2009-05-17 19:00:27 +0000
3+++ src/main/java/org/drizzle/jdbc/internal/common/query/DrizzleParameterizedQuery.java 2009-05-25 10:45:44 +0000
4@@ -14,8 +14,8 @@
5 import org.drizzle.jdbc.internal.common.QueryException;
6
7 import java.io.*;
8-import java.util.ArrayList;
9-import java.util.List;
10+import java.util.HashMap;
11+import java.util.Map;
12 import java.util.logging.Logger;
13
14 /**
15@@ -27,7 +27,7 @@
16 */
17 public class DrizzleParameterizedQuery implements ParameterizedQuery {
18 private final static Logger log = Logger.getLogger(DrizzleParameterizedQuery.class.toString());
19- private List<ParameterHolder> parameters;
20+ private Map<Integer, ParameterHolder> parameters;
21 private final int paramCount;
22 private final String query;
23
24@@ -35,21 +35,21 @@
25 this.query=query;
26 this.paramCount=countChars(query,'?');
27 log.finest("Found "+paramCount+" questionmarks");
28- parameters=new ArrayList<ParameterHolder>(paramCount);
29+ parameters=new HashMap<Integer, ParameterHolder>();
30 }
31
32 public DrizzleParameterizedQuery(ParameterizedQuery query) {
33 this.query=query.getQuery();
34 this.paramCount=query.getParamCount();
35- parameters=new ArrayList<ParameterHolder>(paramCount);
36+ parameters=new HashMap<Integer, ParameterHolder>();
37 log.finest("Copying an existing parameterized query");
38 }
39
40 public void setParameter(int position, ParameterHolder parameter) throws IllegalParameterException {
41 log.finest("Setting parameter "+parameter.toString()+" at position "+position);
42- if(position>=0 && position<paramCount)
43- this.parameters.add(position,parameter);
44- else
45+ if(position>=0 && position<paramCount) {
46+ parameters.put(position, parameter);
47+ } else
48 throw new IllegalParameterException("No '?' on that position");
49 }
50
51@@ -59,8 +59,10 @@
52
53 public int length() {
54 int length = query.length() - paramCount; // remove the ?s
55- for(ParameterHolder param : parameters)
56- length+=param.length();
57+
58+ for(Map.Entry<Integer, ParameterHolder> param : parameters.entrySet())
59+ length+=param.getValue().length();
60+
61 return length;
62 }
63

Subscribers

People subscribed via source and target branches

to all changes: