After orc-92 patch, column id selection is supported. But actually select sub-type by name is more useful.
In my project, we use period(.) to separate nested field names.
we choose int1 by s1.s2.int1 which will be passed include(std::list<std:string>).
In my implementation: first I build a map for name and column id, and then direct the function call to includeTypes. If this is a candidate solution, I will provide a patch for review soon.
When a sub-type is selected, all his child types should be selected also, as O'Malley pointed out in orc-92.