diff --git a/paimon-lance/src/main/java/org/apache/paimon/format/lance/LanceFileFormat.java b/paimon-lance/src/main/java/org/apache/paimon/format/lance/LanceFileFormat.java index 05005432b6d8..2eee2639b7f2 100644 --- a/paimon-lance/src/main/java/org/apache/paimon/format/lance/LanceFileFormat.java +++ b/paimon-lance/src/main/java/org/apache/paimon/format/lance/LanceFileFormat.java @@ -180,12 +180,13 @@ public Void visit(LocalZonedTimestampType localZonedTimestampType) { @Override public Void visit(VariantType variantType) { - return null; + throw new UnsupportedOperationException( + "Lance file format does not support type VARIANT"); } @Override public Void visit(BlobType blobType) { - return null; + throw new UnsupportedOperationException("Lance file format does not support type BLOB"); } @Override diff --git a/paimon-lance/src/test/java/org/apache/paimon/format/lance/LanceFileFormatTest.java b/paimon-lance/src/test/java/org/apache/paimon/format/lance/LanceFileFormatTest.java index 2352be764f91..9a7152e25944 100644 --- a/paimon-lance/src/test/java/org/apache/paimon/format/lance/LanceFileFormatTest.java +++ b/paimon-lance/src/test/java/org/apache/paimon/format/lance/LanceFileFormatTest.java @@ -101,4 +101,20 @@ public void testValidateDataFields_SupportedTypes() { // Validate that no exception is thrown for supported types assertDoesNotThrow(() -> format.validateDataFields(rowType)); } + + @Test + public void testValidateDataFields_UnsupportedVariantType() { + LanceFileFormat format = + new LanceFileFormat(new FileFormatFactory.FormatContext(new Options(), 1024, 1024)); + RowType rowType = RowType.of(DataTypes.VARIANT()); + assertThrows(UnsupportedOperationException.class, () -> format.validateDataFields(rowType)); + } + + @Test + public void testValidateDataFields_UnsupportedBlobType() { + LanceFileFormat format = + new LanceFileFormat(new FileFormatFactory.FormatContext(new Options(), 1024, 1024)); + RowType rowType = RowType.of(DataTypes.BLOB()); + assertThrows(UnsupportedOperationException.class, () -> format.validateDataFields(rowType)); + } }