Definition at line 890 of file RawDataSet.h. References AddFile(), Impala::Util::StringParser::At(), Impala::Util::IOBuffer::Available(), Impala::Util::StringParser::Eat(), ExtractFileSectionDir(), Impala::FileNameBase(), Impala::Util::StringParser::GetInt(), Impala::Util::Database::GetIOBuffer(), Impala::Util::StringParser::GetString2(), ILOG_DEBUG, mDb, mHasFiles, mLastId, mLastKeyForWarning, mQuidClass, mSetFileName, mSetName, mSetNameBase, Impala::QUID_CLASS_UNKNOWN, Impala::Util::IOBuffer::ReadLine(), Impala::Timer::SplitTime(), Impala::StringReplaceAll(), Impala::Util::StringParser::TheEnd(), and Impala::Util::IOBuffer::Valid(). 00891 { 00892 mLastKeyForWarning = -1; 00893 mDb = db; 00894 mSetName = setName; 00895 mSetNameBase = FileNameBase(mSetName); 00896 mSetFileName = setFileName; 00897 mHasFiles = false; 00898 mLastId = 0; 00899 if (mSetFileName == String("")) 00900 return; 00901 mQuidClass = QUID_CLASS_UNKNOWN; 00902 ILOG_DEBUG("opening data file " << mSetFileName); 00903 Timer timer(1); 00904 Util::IOBuffer* f = mDb->GetIOBuffer(mSetFileName, true, true, ""); 00905 if (f->Valid()) 00906 { 00907 while (f->Available()) 00908 { 00909 String line = f->ReadLine(); 00910 if (line[0] && (line[0] != '#')) 00911 { 00912 int id = -1; 00913 String section("."); 00914 String dir("."); 00915 String file(""); 00916 Util::StringParser p(line); 00917 while (!p.TheEnd()) 00918 { 00919 if (p.At("<id=")) 00920 { 00921 p.Eat('='); 00922 id = p.GetInt('>', true); 00923 p.Eat('>'); 00924 } 00925 else 00926 { 00927 String s = p.GetString2(false); 00928 s = StringReplaceAll(s, "\\", "/"); 00929 ExtractFileSectionDir(s, file, section, dir); 00930 } 00931 } 00932 AddFile(file, section, dir, id); 00933 } 00934 } 00935 } 00936 delete f; 00937 ILOG_DEBUG("done read file in " << timer.SplitTime()); 00938 }
Here is the call graph for this function:
|