wjones127 commented on pull request #11871:
URL: https://github.com/apache/arrow/pull/11871#issuecomment-988200736


   I've found the particular line where things are going wrong, but I'm not 
sure how to fix.
   
   Column "a" isn't being added to convert options, as it is somehow triggering 
the condition on line 120. 
   
   
https://github.com/apache/arrow/blob/9cf4275a19c994879172e5d3b03ade9a96a10721/cpp/src/arrow/dataset/file_csv.cc#L117-L120
   
   I'm pretty baffled as it seems like the field name is clearly in the column 
set. Here's my debugger output from a breakpoint at line 120:
   
   ```
   print column_names.find(field->name())
   (std::unordered_set<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, std::hash<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
std::equal_to<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, std::allocator<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > > >::iterator) $0 = {
     __node_ = nullptr
   }
   print column_names
   (std::unordered_set<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, std::hash<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
std::equal_to<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >, std::allocator<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > > >) $1 = size=1 {
     [0] = "a"
   }
   print field->name()
   (const std::string) $2 = "a"
   print (*column_names.begin())
   (const std::__hash_const_iterator<std::__hash_node<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, void *> *>::value_type) $4 = 
"a"
   ```
   
   (I altered the test so it just contains column "a" to make it easier to grab 
the value in the set; I get similar results with the original test that has 
both columns.)
   
   I'm fairly sure this is the root problem because when I run 
`column_names.insert(field->name())` at the breakpoint and continue, the test 
passes.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to