Решено!
PHP код:
update data set size = (select sum(size) from data as data2 where
data2.file > (data.file || '/') AND data2.file < (data.file || '0') AND
size is not null) where size is null
магия во второй строчке работает по индексу в отличие от:
PHP код:
data2.file LIKE (data.file || '/%')
таблица data, file-полный путь(прямые слеши), у папок size~null, после запроса size устанавливается в сумму всех вложенных файлов