xndai commented on issue #1740: [CALCITE-3713] Remove column names from 
Project#digest
URL: https://github.com/apache/calcite/pull/1740#issuecomment-584783530
 
 
   Now the problem is every time when we access mapDigestToRel, we would have 
to recompute the hash code of List<RelDataType>, which is a considerable 
overhead. It not only affects Hep planner, but also VolcanoPlanner. 
   
   We could have another member variable in RelRecordType for digest without 
column name. Then somehow expose it as the hash string for a wrapper class on 
top of RelRecordType. Then mapToDigest would become Map<Pair<String, 
RelRecordTypeWrapper>, HepRelVertex>. This will solve the problem of re-hasing, 
but it increase the memory usage by having an additional digest member.
   
   I think the best way would be removing column name from RelRecordType 
digest. I understand it breaks the UT currently, but we should spend time 
understanding why if we believe this's the right solution.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to