@ -114,6 +117,12 @@ public abstract class CaldavDao {
@Query("UPDATE caldav_tasks SET cd_parent = IFNULL((SELECT cd_task FROM caldav_tasks AS p WHERE p.cd_remote_id = caldav_tasks.cd_remote_parent), cd_parent) WHERE cd_calendar = :calendar AND cd_remote_parent IS NOT NULL and cd_remote_parent != ''")
@Query("UPDATE caldav_tasks SET cd_parent = IFNULL((SELECT cd_task FROM caldav_tasks AS p WHERE p.cd_remote_id = caldav_tasks.cd_remote_parent), cd_parent) WHERE cd_calendar = :calendar AND cd_remote_parent IS NOT NULL and cd_remote_parent != ''")
publicabstractvoidupdateParents(Stringcalendar);
publicabstractvoidupdateParents(Stringcalendar);
publicList<Long>getChildren(List<Long>ids){
returnatLeastLollipop()
?getChildrenRecursive(ids)
:Collections.emptyList();
}
@Query("WITH RECURSIVE "
@Query("WITH RECURSIVE "
+" recursive_caldav (cd_task) AS ( "
+" recursive_caldav (cd_task) AS ( "
+" SELECT cd_task "
+" SELECT cd_task "
@ -132,5 +141,5 @@ public abstract class CaldavDao {
+" WHERE tasks.deleted = 0 "
+" WHERE tasks.deleted = 0 "
+" ) "
+" ) "
+"SELECT cd_task FROM recursive_caldav")
+"SELECT cd_task FROM recursive_caldav")
public abstract List<Long>getChildren(List<Long>ids);