Inheritance, especially in C++ is very hard to maintain compatibility across versions.
Based on my experience on the Java side with LLAP, I’d suggest adding an optional cache manager than can be supplied to the reader. As Deepak says, there is already an interface for passing in the file tail. I’d suspect that we should have an API to supply a cache (memory or local file based) for: * file footer & tail * stripe footers * stripe statistics * row indexes * row data .. Owen > On May 29, 2019, at 5:12 AM, naveen mahadevuni <[email protected]> wrote: > > Hi, > > We are using ORC C++ API. We would like to be able to sub-class the ORC > implementation classes such as ReaderImpl, StatisticsImpl, > StripeInformationImpl... The reason being, when ORC files are stored on a > cloud store such as S3, we would like to have the metadata/statistics > stored on a file on local disk and create wrapper implementation classes > which read metadata/statistics from locally stored file and delegates only > the data stream reads to the cloud store. > > Will there be any problems if these implementation classes are published? > > Thanks, > Naveen
