From bba22006d692bda68e489068f51277efe087850f Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Mon, 16 Jul 2018 10:43:43 -0600 Subject: [PATCH] GROUP BY and HAVING aren't ready to be strict. Despite SQLite documentation saying these clauses follow the "expr" syntax, queries will fail with obscure "row value misused" errors, so remove the strict enforcement for now. Test: manual Bug: 111480817 Change-Id: Ib8cdcb4e6456110589203189fcfa14e75cd68718 --- core/java/android/database/sqlite/SQLiteQueryBuilder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/java/android/database/sqlite/SQLiteQueryBuilder.java b/core/java/android/database/sqlite/SQLiteQueryBuilder.java index 31907717c1684..5c528870d138b 100644 --- a/core/java/android/database/sqlite/SQLiteQueryBuilder.java +++ b/core/java/android/database/sqlite/SQLiteQueryBuilder.java @@ -549,8 +549,8 @@ public class SQLiteQueryBuilder { // "expr" inside that need to be validated final String sql = buildQuery(projection, wrap(queryArgs.getString(QUERY_ARG_SQL_SELECTION)), - wrap(queryArgs.getString(QUERY_ARG_SQL_GROUP_BY)), - wrap(queryArgs.getString(QUERY_ARG_SQL_HAVING)), + queryArgs.getString(QUERY_ARG_SQL_GROUP_BY), + queryArgs.getString(QUERY_ARG_SQL_HAVING), queryArgs.getString(QUERY_ARG_SQL_SORT_ORDER), queryArgs.getString(QUERY_ARG_SQL_LIMIT)); db.validateSql(sql, cancellationSignal); // will throw if query is invalid