{"record":{"id":"a007fb93745f5474","repo":"prestodb/presto","slug":"dictionary-encoding-does-not-support","errorCode":null,"errorMessage":"Dictionary encoding does not support: ","messagePattern":"Dictionary encoding does not support: ","errorType":"exception","errorClass":"ParquetDecodingException","httpStatus":null,"severity":"error","filePath":"presto-parquet/src/main/java/com/facebook/presto/parquet/ParquetEncoding.java","lineNumber":99,"sourceCode":"                throws IOException\n        {\n            switch (descriptor.getType()) {\n                case BINARY:\n                    return new BinaryDictionary(dictionaryPage);\n                case FIXED_LEN_BYTE_ARRAY:\n                    return new BinaryDictionary(dictionaryPage, descriptor.getTypeLength());\n                case INT96:\n                    return new BinaryDictionary(dictionaryPage, INT96_TYPE_LENGTH);\n                case INT64:\n                    return new LongDictionary(dictionaryPage);\n                case DOUBLE:\n                    return new DoubleDictionary(dictionaryPage);\n                case INT32:\n                    return new IntegerDictionary(dictionaryPage);\n                case FLOAT:\n                    return new FloatDictionary(dictionaryPage);\n                default:\n                    throw new ParquetDecodingException(\"Dictionary encoding does not support: \" + descriptor.getType());\n            }\n        }\n    },\n\n    RLE {\n        @Override\n        public ValuesReader getValuesReader(ColumnDescriptor descriptor, ValuesType valuesType)\n        {\n            int bitWidth = BytesUtils.getWidthFromMaxInt(getMaxLevel(descriptor, valuesType));\n            if (bitWidth == 0) {\n                return new ZeroIntegerValuesReader();\n            }\n            return new RunLengthBitPackingHybridValuesReader(bitWidth);\n        }\n    },\n\n    BIT_PACKED {\n        @Override","sourceCodeStart":81,"sourceCodeEnd":117,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-parquet/src/main/java/com/facebook/presto/parquet/ParquetEncoding.java#L81-L117","documentation":"Dispatch guard in initDictionary: dictionary decoding has no Dictionary implementation for the column's physical type (only BINARY/FIXED_LEN_BYTE_ARRAY/INT96/INT64/DOUBLE/... are mapped). The writer used dictionary encoding on a type Presto cannot decode that way.","triggerScenarios":"Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/ParquetEncoding.java:99 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Rewrite the file without dictionary encoding for that column (e.g. plain encoding)","Cast/convert the column to a dictionary-supported physical type","Upgrade Presto to a release with the missing dictionary decoder"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"55bb57d202de3b926896fa966c2c4a44c779634e","analyzedAt":"2026-09-04T12:50:26.162Z","contentChangedAt":"2026-09-04T12:50:26.162Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}