- sql = String.format("SELECT %s as a, case when %s_upper LIKE ?||'%%' then 1 " +
- "WHEN %s_upper LIKE '%%:'||?||'%%' then 2 " +
- "WHEN %s_upper LIKE '%% '||?||'%%' then 3 else 9 end " +
- "FROM %s " +
- "WHERE profile=? AND %s_upper LIKE '%%'||?||'%%' " +
- "ORDER BY 2, 1;", field, field, field, field, table, field);
- params = new String[]{str, str, str, profile.getUuid(), str};
+ MobileLedgerProfile p = (profile == null) ? Data.profile.getValue() : profile;
+ if (p == null) throw new AssertionError();
+ sql = String.format(
+ "SELECT rowid as _id, %s, CASE WHEN %s_upper LIKE ?||'%%' THEN 1 " +
+ "WHEN %s_upper LIKE '%%:'||?||'%%' then 2 " +
+ "WHEN %s_upper LIKE '%% '||?||'%%' THEN 3 " + "ELSE 9 END " + "FROM %s " +
+ "WHERE profile=? AND %s_upper LIKE '%%'||?||'%%' " +
+ "ORDER BY 3, %s_upper, 1;", field, field, field, field, table, field,
+ field);
+ params = new String[]{str, str, str, p.getUuid(), str};