Review: Needs Fixing I have tried some basic queries and there is a huge performance improvement. This is great. However, I detected a memory leak and have one question.
- memory leak in translator.cpp:4823 ==20325== 88 (32 direct, 56 indirect) bytes in 1 blocks are definitely lost in loss record 4 of 4 ==20325== at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==20325== by 0x55B8897: zorba::TranslatorImpl::begin_visit(zorba::AnnotationListParsenode const&) (translator.cpp:4823) ==20325== by 0x556447D: zorba::AnnotationListParsenode::accept(zorba::parsenode_visitor&) const (parsenodes.cpp:903) ==20325== by 0x55B18A8: zorba::TranslatorImpl::preprocessVFOList(zorba::VFO_DeclList const&) (translator.cpp:3904) ==20325== by 0x55A9951: zorba::TranslatorImpl::begin_visit(zorba::Prolog const&) (translator.cpp:2889) ==20325== by 0x5562201: zorba::Prolog::accept(zorba::parsenode_visitor&) const (parsenodes.cpp:262) ==20325== by 0x5561E7A: zorba::LibraryModule::accept(zorba::parsenode_visitor&) const (parsenodes.cpp:174) ==20325== by 0x559CCD8: zorba::translate_aux(zorba::TranslatorImpl*, zorba::parsenode const&, zorba::static_context*, unsigned long, zorba::ModulesInfo*, std::map<zorba::rstring<zorba::rstring_classes::rep<zorba::atomic_int, std::char_traits<char>, std::allocator<char> > >, zorba::rstring<zorba::rstring_classes::rep<zorba::atomic_int, std::char_traits<char>, std::allocator<char> > >, std::less<zorba::rstring<zorba::rstring_classes::rep<zorba::atomic_int, std::char_traits<char>, std::allocator<char> > > >, std::allocator<std::pair<zorba::rstring<zorba::rstring_classes::rep<zorba::atomic_int, std::char_traits<char>, std::allocator<char> > > const, zorba::rstring<zorba::rstring_classes::rep<zorba::atomic_int, std::char_traits<char>, std::allocator<char> > > > > > const&, bool, zorba::StaticContextConsts::xquery_version_t) (translator.cpp:16343) ==20325== by 0x55AF5C4: zorba::TranslatorImpl::end_visit(zorba::ModuleImport const&, void*) (translator.cpp:3589) ==20325== by 0x55635D3: zorba::ModuleImport::accept(zorba::parsenode_visitor&) const (parsenodes.cpp:667) ==20325== by 0x55A99BB: zorba::TranslatorImpl::begin_visit(zorba::Prolog const&) (translator.cpp:2899) - In the following query, no dataguide seems to be pushed into the parser. Why? import module namespace f = "http://expath.org/ns/file"; for $obj in parse-json(f:read-text(fn:resolve-uri("citylots-small.json"))) group by $s := $obj.STREET return { street : $s, count : count($obj) } -- https://code.launchpad.net/~zorba-coders/zorba/use-dataguide/+merge/176385 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp