summaryrefslogtreecommitdiffstats
path: root/core/java/android/database
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-04-29 13:41:23 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2009-04-29 13:41:23 -0700
commit090d32b27509b1885eead49a4978b2dfd607639a (patch)
tree8de2f3de6cd09a1087b2d23c2f292abed8864cb3 /core/java/android/database
parentef77be9526ec05cb89881719dfdac4e07cef45d3 (diff)
parent9ae8873ed83035e8527526e2cc1a189caf0e8d9e (diff)
downloadframeworks_base-090d32b27509b1885eead49a4978b2dfd607639a.zip
frameworks_base-090d32b27509b1885eead49a4978b2dfd607639a.tar.gz
frameworks_base-090d32b27509b1885eead49a4978b2dfd607639a.tar.bz2
am 9ae8873: Merge change 617 into donut
Merge commit '9ae8873ed83035e8527526e2cc1a189caf0e8d9e' * commit '9ae8873ed83035e8527526e2cc1a189caf0e8d9e': Allow caller-supplied column aliases in queries even when a projection map is used.
Diffstat (limited to 'core/java/android/database')
-rw-r--r--core/java/android/database/sqlite/SQLiteQueryBuilder.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/core/java/android/database/sqlite/SQLiteQueryBuilder.java b/core/java/android/database/sqlite/SQLiteQueryBuilder.java
index 139fcba..5c05ea0 100644
--- a/core/java/android/database/sqlite/SQLiteQueryBuilder.java
+++ b/core/java/android/database/sqlite/SQLiteQueryBuilder.java
@@ -489,12 +489,20 @@ public class SQLiteQueryBuilder
String userColumn = projectionIn[i];
String column = mProjectionMap.get(userColumn);
- if (column == null) {
- throw new IllegalArgumentException(
- "Invalid column " + projectionIn[i]);
- } else {
+ if (column != null) {
projection[i] = column;
+ continue;
}
+
+ if (userColumn.contains(" AS ")
+ || userColumn.contains(" as ")) {
+ /* A column alias already exist */
+ projection[i] = userColumn;
+ continue;
+ }
+
+ throw new IllegalArgumentException("Invalid column "
+ + projectionIn[i]);
}
return projection;
} else {