Fixed FTS search in single folders

pull/214/head
M66B 8 months ago
parent 7360e1c9d4
commit d4fc609e96

@ -203,12 +203,12 @@ public class Fts4DbHelper extends SQLiteOpenHelper {
List<String> args = new ArrayList<>(); List<String> args = new ArrayList<>();
if (account != null) { if (account != null) {
select.append("account = ? AND "); select.append("account = CAST(? AS INTEGER) AND ");
args.add(Long.toString(account)); args.add(Long.toString(account));
} }
if (folder != null) { if (folder != null) {
select.append("folder = ? AND "); select.append("folder = CAST(? AS INTEGER) AND ");
args.add(Long.toString(folder)); args.add(Long.toString(folder));
} }
@ -217,19 +217,19 @@ public class Fts4DbHelper extends SQLiteOpenHelper {
for (int i = 0; i < exclude.length; i++) { for (int i = 0; i < exclude.length; i++) {
if (i > 0) if (i > 0)
select.append(", "); select.append(", ");
select.append("?"); select.append("CAST(? AS INTEGER)");
args.add(Long.toString(exclude[i])); args.add(Long.toString(exclude[i]));
} }
select.append(") AND "); select.append(") AND ");
} }
if (criteria.after != null) { if (criteria.after != null) {
select.append("time > ? AND "); select.append("time > CAST(? AS INTEGER) AND ");
args.add(Long.toString(criteria.after)); args.add(Long.toString(criteria.after));
} }
if (criteria.before != null) { if (criteria.before != null) {
select.append("time < ? AND "); select.append("time < CAST(? AS INTEGER) AND ");
args.add(Long.toString(criteria.before)); args.add(Long.toString(criteria.before));
} }

@ -203,12 +203,12 @@ public class Fts5DbHelper extends SQLiteOpenHelper {
List<String> args = new ArrayList<>(); List<String> args = new ArrayList<>();
if (account != null) { if (account != null) {
select.append("account = ? AND "); select.append("account = CAST(? AS INTEGER) AND ");
args.add(Long.toString(account)); args.add(Long.toString(account));
} }
if (folder != null) { if (folder != null) {
select.append("folder = ? AND "); select.append("folder = CAST(? AS INTEGER) AND ");
args.add(Long.toString(folder)); args.add(Long.toString(folder));
} }
@ -217,19 +217,19 @@ public class Fts5DbHelper extends SQLiteOpenHelper {
for (int i = 0; i < exclude.length; i++) { for (int i = 0; i < exclude.length; i++) {
if (i > 0) if (i > 0)
select.append(", "); select.append(", ");
select.append("?"); select.append("CAST(? AS INTEGER)");
args.add(Long.toString(exclude[i])); args.add(Long.toString(exclude[i]));
} }
select.append(") AND "); select.append(") AND ");
} }
if (criteria.after != null) { if (criteria.after != null) {
select.append("time > ? AND "); select.append("time > CAST(? AS INTEGER) AND ");
args.add(Long.toString(criteria.after)); args.add(Long.toString(criteria.after));
} }
if (criteria.before != null) { if (criteria.before != null) {
select.append("time < ? AND "); select.append("time < CAST(? AS INTEGER) AND ");
args.add(Long.toString(criteria.before)); args.add(Long.toString(criteria.before));
} }

Loading…
Cancel
Save