Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0e08f2d5 authored by Brad Fitzpatrick's avatar Brad Fitzpatrick Committed by Android (Google) Code Review
Browse files

Merge "Allocate SQLiteQueryBuilder's WHERE clause StringBuilder lazily."

parents 43f0e8e9 ae6cdd12
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ public class SQLiteQueryBuilder

    private Map<String, String> mProjectionMap = null;
    private String mTables = "";
    private final StringBuilder mWhereClause = new StringBuilder(64);
    private StringBuilder mWhereClause = null;  // lazily created
    private boolean mDistinct;
    private SQLiteDatabase.CursorFactory mFactory;

@@ -89,6 +89,9 @@ public class SQLiteQueryBuilder
     * @param inWhere the chunk of text to append to the WHERE clause.
     */
    public void appendWhere(CharSequence inWhere) {
        if (mWhereClause == null) {
            mWhereClause = new StringBuilder(inWhere.length() + 16);
        }
        if (mWhereClause.length() == 0) {
            mWhereClause.append('(');
        }
@@ -106,6 +109,9 @@ public class SQLiteQueryBuilder
     * to avoid SQL injection attacks
     */
    public void appendWhereEscapeString(String inWhere) {
        if (mWhereClause == null) {
            mWhereClause = new StringBuilder(inWhere.length() + 16);
        }
        if (mWhereClause.length() == 0) {
            mWhereClause.append('(');
        }
@@ -356,15 +362,16 @@ public class SQLiteQueryBuilder
        String[] projection = computeProjection(projectionIn);

        StringBuilder where = new StringBuilder();
        boolean hasBaseWhereClause = mWhereClause != null && mWhereClause.length() > 0;

        if (mWhereClause.length() > 0) {
        if (hasBaseWhereClause) {
            where.append(mWhereClause.toString());
            where.append(')');
        }

        // Tack on the user's selection, if present.
        if (selection != null && selection.length() > 0) {
            if (mWhereClause.length() > 0) {
            if (hasBaseWhereClause) {
                where.append(" AND ");
            }