public void writeDictionaryPage ( DictionaryPage dictionaryPage ) throws IOException { state = state . write ( ) ; LOG . debug ( "{}: write dictionary page: {} values" , out . getPos ( ) , dictionaryPage . getDictionarySize ( ) ) ; currentChunkDictionaryPageOffset = out . getPos ( ) ; int uncompressedSize = dictionaryPage . getUncompressedSize ( ) ; int compressedPageSize = ( int ) dictionaryPage . getBytes ( ) . size ( ) ; // TODO: fix casts metadataConverter . writeDictionaryPageHeader ( uncompressedSize , compressedPageSize , dictionaryPage . getDictionarySize ( ) , dictionaryPage . getEncoding ( ) , out ) ; long headerSize = out . getPos ( ) - currentChunkDictionaryPageOffset ; this . uncompressedLength += uncompressedSize + headerSize ; this . compressedLength += compressedPageSize + headerSize ; LOG . debug ( "{}: write dictionary page content {}" , out . getPos ( ) , compressedPageSize ) ; dictionaryPage . getBytes ( ) . writeAllTo ( out ) ; encodingStatsBuilder . addDictEncoding ( dictionaryPage . getEncoding ( ) ) ; currentEncodings . add ( dictionaryPage . getEncoding ( ) ) ; }
writes a dictionary page page