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
