From ac4daee248b4bb0cb658c83437e4a9d93c6dce2d Mon Sep 17 00:00:00 2001 From: Hyoseong Kim Date: Mon, 4 Mar 2013 20:02:47 +0900 Subject: Add additional Method that check whether a table is empty or not Application Devleopers are using queryNumEntries API implemented by "COUNT(*)" to check whether a table is empty or not. COUNT(*) has to process the entire table to compute the result. But, "EXISTS" can stop after a single matching row has been found. So, Using "EXISTS" is more faster than "COUNT(*)" I added new API using "EXISTS" to check whether a table is empty or not Change-Id: Idcc2633d0a5349c59f41e125cf34c9dc6622cdbe --- core/java/android/database/DatabaseUtils.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'core/java/android/database') diff --git a/core/java/android/database/DatabaseUtils.java b/core/java/android/database/DatabaseUtils.java index 1fc1226..e2d9724 100644 --- a/core/java/android/database/DatabaseUtils.java +++ b/core/java/android/database/DatabaseUtils.java @@ -792,6 +792,18 @@ public class DatabaseUtils { } /** + * Query the table to check whether a table is empty or not + * @param db the database the table is in + * @param table the name of the table to query + * @return True if the table is empty + * @hide + */ + public static boolean queryIsEmpty(SQLiteDatabase db, String table) { + long isEmpty = longForQuery(db, "select exists(select 1 from " + table + ")", null); + return isEmpty == 0; + } + + /** * Utility method to run the query on the db and return the value in the * first column of the first row. */ -- cgit v1.1