splitIndexValueForIndexValueVersion0 splits index value into segments.
(value []byte)
| 1856 | |
| 1857 | // splitIndexValueForIndexValueVersion0 splits index value into segments. |
| 1858 | func splitIndexValueForIndexValueVersion0(value []byte) (segs IndexValueSegments) { |
| 1859 | tailLen := int(value[0]) |
| 1860 | tail := value[len(value)-tailLen:] |
| 1861 | value = value[1 : len(value)-tailLen] |
| 1862 | if len(tail) >= 8 { |
| 1863 | segs.IntHandle = tail[:8] |
| 1864 | } |
| 1865 | if len(value) > 0 && value[0] == CommonHandleFlag { |
| 1866 | handleLen := uint16(value[1])<<8 + uint16(value[2]) |
| 1867 | handleEndOff := 3 + handleLen |
| 1868 | segs.CommonHandle = value[3:handleEndOff] |
| 1869 | value = value[handleEndOff:] |
| 1870 | } |
| 1871 | if len(value) > 0 && value[0] == PartitionIDFlag { |
| 1872 | segs.PartitionID = value[1:9] |
| 1873 | value = value[9:] |
| 1874 | } |
| 1875 | if len(value) > 0 && value[0] == RestoreDataFlag { |
| 1876 | segs.RestoredValues = value |
| 1877 | } |
| 1878 | return |
| 1879 | } |
| 1880 | |
| 1881 | // splitIndexValueForClusteredIndexVersion1 splits index value into segments. |
| 1882 | func splitIndexValueForClusteredIndexVersion1(value []byte) (segs IndexValueSegments) { |
no outgoing calls
no test coverage detected