@@ -543,11 +543,8 @@ static void readUnfilteredClustering(RandomAccessReader dataReader, AbstractType
543543 clusteringBlockHeader = dataReader .readUnsignedVInt ();
544544 clustering .writeUnsignedVInt (clusteringBlockHeader );
545545 }
546- clusteringBlockHeader = clusteringBlockHeader >>> 2 ;
547- // struct clustering_block {
548- // varint clustering_block_header;
549- // simple_cell[] clustering_cells;
550- // };
546+
547+ // load value if present
551548 if ((clusteringBlockHeader & 0b11) == 0 )
552549 {
553550 AbstractType <?> type = types [clusteringIndex ];
@@ -566,6 +563,7 @@ static void readUnfilteredClustering(RandomAccessReader dataReader, AbstractType
566563 clustering .loadPart (dataReader , varLength );
567564 }
568565 }
566+ clusteringBlockHeader = clusteringBlockHeader >>> 2 ;
569567 }
570568 if (fixedLengthClusteringLength != 0 ) clustering .loadPart (dataReader , fixedLengthClusteringLength );
571569 }
@@ -583,17 +581,14 @@ private static void skipClustering(RandomAccessReader dataReader, AbstractType<?
583581 {
584582 clusteringBlockHeader = dataReader .readUnsignedVInt ();
585583 }
586- clusteringBlockHeader = clusteringBlockHeader >>> 2 ;
587- // struct clustering_block {
588- // varint clustering_block_header;
589- // simple_cell[] clustering_cells;
590- // };
584+ // skip value if present
591585 if ((clusteringBlockHeader & 0b11) == 0 )
592586 {
593587 AbstractType <?> type = types [clusteringIndex ];
594588 int len = type .isValueLengthFixed () ? type .valueLengthIfFixed () : dataReader .readUnsignedVInt32 ();
595589 dataReader .skipBytes (len );
596590 }
591+ clusteringBlockHeader = clusteringBlockHeader >>> 2 ;
597592 }
598593 }
599594
0 commit comments