(makeIter makeIterFn, tr tagRequest, definitionLevel int, keyPath string, attrIters []parquetquery.Iterator)
| 851 | } |
| 852 | |
| 853 | func keyNameIterator(makeIter makeIterFn, tr tagRequest, definitionLevel int, keyPath string, attrIters []parquetquery.Iterator) (parquetquery.Iterator, error) { |
| 854 | scope := scopeFromDefinitionLevel(definitionLevel, keyPath) |
| 855 | if len(attrIters) == 0 { |
| 856 | return parquetquery.NewJoinIterator( |
| 857 | oneLevelUp(definitionLevel), |
| 858 | []parquetquery.Iterator{makeIter(keyPath, nil, "key")}, |
| 859 | newDistinctAttrCollector(scope, true, tr.existsTagName, tr.existsTagValue), |
| 860 | ), nil |
| 861 | } |
| 862 | |
| 863 | return parquetquery.NewLeftJoinIterator( |
| 864 | oneLevelUp(definitionLevel), |
| 865 | attrIters, |
| 866 | []parquetquery.Iterator{makeIter(keyPath, nil, "key")}, |
| 867 | newDistinctAttrCollector(scope, true, tr.existsTagName, tr.existsTagValue), |
| 868 | ) |
| 869 | } |
| 870 | |
| 871 | func oneLevelUp(definitionLevel int) int { |
| 872 | switch definitionLevel { |
no test coverage detected