Alex Behm has posted comments on this change. Change subject: PREVIEW: Basic column-wise slot materialization in Parquet scanner. ......................................................................
Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/2779/1/be/src/exec/hdfs-parquet-scanner.cc File be/src/exec/hdfs-parquet-scanner.cc: Line 325: continue_execution = ReadValue(pool, tuple); > Good idea. As discussed I will give this a try. I'll make this change in it I think it only works if we have an instance to call the function on, i.e. we cannot just do ReaderType::ReadValue() but we'd have to static_cast<ReaderType*>(this)->ReadValue() which becomes more more painful to implement because we'll need *Impl versions of NextLevels() and ReadValue(). You can try it for yourself with this test program: #include <iostream> class Base { public: virtual void vfunc() = 0; template<typename CONCRETE_TYPE> void tfunc() { std::cout << "Called tfunc"; CONCRETE_TYPE::sfunc(); } void sfunc() { std::cout << "Called Base sfunc"; } }; class Derived : public Base { public: virtual void vfunc() { tfunc<Derived>(); } void sfunc() { std::cout << "Called Derived sfunc"; } }; int main() { Base* b = new Derived(); b->vfunc(); delete b; std::cout << "DONE" << std::endl; return 0; } -- To view, visit http://gerrit.cloudera.org:8080/2779 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I72a613fa805c542e39df20588fb25c57b5f139aa Gerrit-PatchSet: 1 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Alex Behm <[email protected]> Gerrit-Reviewer: Alex Behm <[email protected]> Gerrit-Reviewer: Mostafa Mokhtar <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-HasComments: Yes
