Body:
### Version
- StarRocks: 3.5.x / 4.x.x / main branch
- Paimon: 1.4.1
### What's Wrong?
When accessing a Paimon 1.4 catalog table that contains BLOB type columns (a new type introduced in Paimon 1.4 for multimodal data storage), any query including `DESC table` and `SELECT` fails with the following error:
Could not parse type at position 0: expected but was .
Input type string: BLOB
### Root Cause
1. StarRocks depends on `org.apache.paimon:paimon-bundle:1.3.1`, which does not recognize the BLOB type introduced in Paimon 1.4.1
2. `ColumnTypeConverter.PaimonToHiveTypeVisitor` (FE) has no `visit(BlobType)` method, falling back to UNKNOWN_TYPE
3. `PaimonTypeUtils.PaimonToHiveTypeVisitor` (paimon-reader) has no `visit(BlobType)` method
4. `PaimonColumnValue` does not handle Blob data type for reading
### How to Reproduce?
1. Create a Paimon 1.4 table with BLOB column:
```sql
CREATE TABLE IF NOT EXISTS paimon.test.ppt_blob_test (
file_name STRING,
file_path STRING,
file_size BIGINT,
content_blob BINARY,
ingest_time TIMESTAMP
)
TBLPROPERTIES (
'bucket' = '-1',
'blob-field' = 'content_blob',
'row-tracking.enabled' = 'true',
'data-evolution.enabled' = 'true',
'file.format' = 'parquet',
'parquet.compress' = 'zstd',
'target-file-size' = '256 MB',
'write-buffer-size' = '256 MB',
'write-buffer-spillable' = 'true'
)
- In StarRocks, create a Paimon catalog pointing to the warehouse:
CREATE EXTERNAL CATALOG paimon_catalog PROPERTIES (
"type" = "paimon",
"paimon.catalog.type" = "filesystem",
"paimon.catalog.warehouse" = "hdfs:///path/to/warehouse"
);
- Run any query:
DESC paimon_catalog.db.blob_table; -- fails
SELECT * FROM paimon_catalog.db.blob_table; -- fails
Suggested Fix
-
Upgrade
paimon.versionfrom1.3.1to1.4.1in:fe/pom.xmljava-extensions/paimon-reader/pom.xml
-
Add BlobType mapping to VARBINARY in:
fe/fe-core/src/main/java/com/starrocks/connector/ColumnTypeConverter.javajava-extensions/paimon-reader/src/main/java/com/starrocks/paimon/reader/PaimonTypeUtils.java
-
Add Blob data handling in:
java-extensions/paimon-reader/src/main/java/com/starrocks/paimon/reader/PaimonColumnValue.java