(definitionLevelToKeep int, t RowNumber)
| 89 | } |
| 90 | |
| 91 | func TruncateRowNumber(definitionLevelToKeep int, t RowNumber) RowNumber { |
| 92 | switch definitionLevelToKeep { |
| 93 | case 0: |
| 94 | return RowNumber{t[0], -1, -1, -1, -1, -1, -1, -1} |
| 95 | case 1: |
| 96 | return RowNumber{t[0], t[1], -1, -1, -1, -1, -1, -1} |
| 97 | case 2: |
| 98 | return RowNumber{t[0], t[1], t[2], -1, -1, -1, -1, -1} |
| 99 | case 3: |
| 100 | return RowNumber{t[0], t[1], t[2], t[3], -1, -1, -1, -1} |
| 101 | case 4: |
| 102 | return RowNumber{t[0], t[1], t[2], t[3], t[4], -1, -1, -1} |
| 103 | case 5: |
| 104 | return RowNumber{t[0], t[1], t[2], t[3], t[4], t[5], -1, -1} |
| 105 | case 6: |
| 106 | return RowNumber{t[0], t[1], t[2], t[3], t[4], t[5], t[6], -1} |
| 107 | case 7: |
| 108 | return RowNumber{t[0], t[1], t[2], t[3], t[4], t[5], t[6], t[7]} |
| 109 | default: |
| 110 | panic(fmt.Sprintf("definition level out of bound: should be [0:7] but got %d", definitionLevelToKeep)) |
| 111 | } |
| 112 | } |
| 113 | |
| 114 | func (t *RowNumber) Valid() bool { |
| 115 | return t[0] >= 0 |
no outgoing calls