Class TestIcebergSparkCompatibility

java.lang.Object
io.trino.tempto.ProductTest
io.trino.tests.product.iceberg.TestIcebergSparkCompatibility

public class TestIcebergSparkCompatibility extends io.trino.tempto.ProductTest
Tests compatibility between Iceberg connector and Spark Iceberg.
  • Constructor Details

    • TestIcebergSparkCompatibility

      public TestIcebergSparkCompatibility()
  • Method Details

    • setup

      public void setup() throws org.apache.thrift.TException
      Throws:
      org.apache.thrift.TException
    • tearDown

      public void tearDown()
    • setUp

      public void setUp()
    • testTrinoReadingSparkData

      public void testTrinoReadingSparkData(TestIcebergSparkCompatibility.StorageFormat storageFormat, int specVersion)
    • testSparkReadingTrinoData

      public void testSparkReadingTrinoData(TestIcebergSparkCompatibility.StorageFormat storageFormat, TestIcebergSparkCompatibility.CreateMode createMode)
    • testSparkReadingTrinoDataDataProvider

      public Object[][] testSparkReadingTrinoDataDataProvider()
    • testSparkReadTrinoUuid

      public void testSparkReadTrinoUuid(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testSparkCreatesTrinoDrops

      public void testSparkCreatesTrinoDrops(int specVersion)
    • testTrinoCreatesSparkDrops

      public void testTrinoCreatesSparkDrops()
    • testSparkReadsTrinoPartitionedTable

      public void testSparkReadsTrinoPartitionedTable(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testTrinoReadsSparkPartitionedTable

      public void testTrinoReadsSparkPartitionedTable(TestIcebergSparkCompatibility.StorageFormat storageFormat, int specVersion)
    • testTrinoPartitionedByRealWithNaN

      public void testTrinoPartitionedByRealWithNaN(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testTrinoPartitionedByDoubleWithNaN

      public void testTrinoPartitionedByDoubleWithNaN(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testSparkPartitionedByRealWithNaN

      public void testSparkPartitionedByRealWithNaN(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testSparkPartitionedByDoubleWithNaN

      public void testSparkPartitionedByDoubleWithNaN(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testPartitionedByNestedField

      public void testPartitionedByNestedField()
    • testTrinoReadingCompositeSparkData

      public void testTrinoReadingCompositeSparkData(TestIcebergSparkCompatibility.StorageFormat storageFormat, int specVersion)
    • testSparkReadingCompositeTrinoData

      public void testSparkReadingCompositeTrinoData(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testTrinoReadingSparkIcebergTablePropertiesData

      public void testTrinoReadingSparkIcebergTablePropertiesData(TestIcebergSparkCompatibility.StorageFormat storageFormat, int specVersion)
    • testTrinoReadingNestedSparkData

      public void testTrinoReadingNestedSparkData(TestIcebergSparkCompatibility.StorageFormat storageFormat, int specVersion)
    • testSparkReadingNestedTrinoData

      public void testSparkReadingNestedTrinoData(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testIdBasedFieldMapping

      public void testIdBasedFieldMapping(TestIcebergSparkCompatibility.StorageFormat storageFormat, int specVersion)
    • testReadAfterPartitionEvolution

      public void testReadAfterPartitionEvolution(TestIcebergSparkCompatibility.StorageFormat storageFormat, int specVersion)
    • testTrinoShowingSparkCreatedTables

      public void testTrinoShowingSparkCreatedTables(int specVersion)
    • testCreateAndDropTableWithSameLocationWorksOnSpark

      public void testCreateAndDropTableWithSameLocationWorksOnSpark(int specVersion)
    • testCreateAndDropTableWithSameLocationFailsOnTrino

      public void testCreateAndDropTableWithSameLocationFailsOnTrino(int specVersion)
    • testTrinoWritingDataWithObjectStorageLocationProvider

      public void testTrinoWritingDataWithObjectStorageLocationProvider(TestIcebergSparkCompatibility.StorageFormat storageFormat, int specVersion)
    • testTrinoWritingDataWithWriterDataPathSet

      public void testTrinoWritingDataWithWriterDataPathSet(TestIcebergSparkCompatibility.StorageFormat storageFormat, int specVersion)
    • testStringPartitioningWithSpecialCharactersCtasInTrino

      public void testStringPartitioningWithSpecialCharactersCtasInTrino()
    • testStringPartitioningWithSpecialCharactersInsertInTrino

      public void testStringPartitioningWithSpecialCharactersInsertInTrino()
    • testStringPartitioningWithSpecialCharactersInsertInSpark

      public void testStringPartitioningWithSpecialCharactersInsertInSpark()
    • testPartitionedByNonLowercaseColumn

      public void testPartitionedByNonLowercaseColumn()
    • testPartitioningWithMixedCaseColumnUnsupportedInTrino

      public void testPartitioningWithMixedCaseColumnUnsupportedInTrino()
    • testInsertReadingFromParquetTableWithNestedRowFieldNotPresentInDataFile

      public void testInsertReadingFromParquetTableWithNestedRowFieldNotPresentInDataFile()
    • testTrinoReadsSparkSortOrder

      public void testTrinoReadsSparkSortOrder()
    • testTrinoIgnoresUnsupportedSparkSortOrder

      public void testTrinoIgnoresUnsupportedSparkSortOrder()
    • testTrinoSparkConcurrentInsert

      public void testTrinoSparkConcurrentInsert() throws Exception
      Throws:
      Exception
      See Also:
    • testTrinoReadingSparkCompressedData

      public void testTrinoReadingSparkCompressedData(TestIcebergSparkCompatibility.StorageFormat storageFormat, String compressionCodec)
    • testSparkReadingTrinoCompressedData

      public void testSparkReadingTrinoCompressedData(TestIcebergSparkCompatibility.StorageFormat storageFormat, String compressionCodec)
    • verifyCompressionCodecsDataProvider

      public void verifyCompressionCodecsDataProvider()
    • storageFormatsAndCompressionCodecs

      public Object[][] storageFormatsAndCompressionCodecs()
    • testTrinoReadingMigratedNestedData

      public void testTrinoReadingMigratedNestedData(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testMigratedDataWithAlteredSchema

      public void testMigratedDataWithAlteredSchema(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testMigratedDataWithPartialNameMapping

      public void testMigratedDataWithPartialNameMapping(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testPartialStats

      public void testPartialStats()
    • testStatsAfterAddingPartitionField

      public void testStatsAfterAddingPartitionField()
    • testTrinoReadsSparkRowLevelDeletes

      public void testTrinoReadsSparkRowLevelDeletes(TestIcebergSparkCompatibility.StorageFormat tableStorageFormat, TestIcebergSparkCompatibility.StorageFormat deleteFileStorageFormat)
    • testTrinoReadsSparkRowLevelDeletesWithRowTypes

      public void testTrinoReadsSparkRowLevelDeletesWithRowTypes(TestIcebergSparkCompatibility.StorageFormat tableStorageFormat, TestIcebergSparkCompatibility.StorageFormat deleteFileStorageFormat)
    • testSparkReadsTrinoRowLevelDeletes

      public void testSparkReadsTrinoRowLevelDeletes(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testSparkReadsTrinoRowLevelDeletesWithRowTypes

      public void testSparkReadsTrinoRowLevelDeletesWithRowTypes(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testDeleteAfterPartitionEvolution

      public void testDeleteAfterPartitionEvolution(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testMissingMetrics

      public void testMissingMetrics()
    • testOptimizeOnV2IcebergTable

      public void testOptimizeOnV2IcebergTable()
    • testAlterTableExecuteProceduresOnEmptyTable

      public void testAlterTableExecuteProceduresOnEmptyTable()
    • specVersions

      public static Object[][] specVersions()
    • storageFormats

      public static Object[][] storageFormats()
    • tableFormatWithDeleteFormat

      public static Object[][] tableFormatWithDeleteFormat()
    • storageFormatsWithSpecVersion

      public static Object[][] storageFormatsWithSpecVersion()
    • testSparkReadsTrinoTableAfterCleaningUp

      public void testSparkReadsTrinoTableAfterCleaningUp(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testSparkReadsTrinoTableAfterOptimizeAndCleaningUp

      public void testSparkReadsTrinoTableAfterOptimizeAndCleaningUp(TestIcebergSparkCompatibility.StorageFormat storageFormat, int specVersion)
    • testTrinoReadsTrinoTableWithSparkDeletesAfterOptimizeAndCleanUp

      public void testTrinoReadsTrinoTableWithSparkDeletesAfterOptimizeAndCleanUp(TestIcebergSparkCompatibility.StorageFormat storageFormat, int specVersion)
    • testCleaningUpIcebergTableWithRowLevelDeletes

      public void testCleaningUpIcebergTableWithRowLevelDeletes(TestIcebergSparkCompatibility.StorageFormat tableStorageFormat, TestIcebergSparkCompatibility.StorageFormat deleteFileStorageFormat)
    • testUpdateAfterSchemaEvolution

      public void testUpdateAfterSchemaEvolution()
    • testUpdateOnPartitionColumn

      public void testUpdateOnPartitionColumn()
    • testAddNotNullColumn

      public void testAddNotNullColumn()
    • testDropNestedField

      public void testDropNestedField()
    • testDropPastPartitionedField

      public void testDropPastPartitionedField()
    • testHandlingPartitionSchemaEvolutionInPartitionMetadata

      public void testHandlingPartitionSchemaEvolutionInPartitionMetadata()
    • testMetadataCompressionCodecGzip

      public void testMetadataCompressionCodecGzip()
    • testTrinoAnalyze

      public void testTrinoAnalyze()
    • testTrinoAnalyzeWithNonLowercaseColumnName

      public void testTrinoAnalyzeWithNonLowercaseColumnName()
    • testRegisterTableWithTableLocation

      public void testRegisterTableWithTableLocation(TestIcebergSparkCompatibility.StorageFormat storageFormat) throws org.apache.thrift.TException
      Throws:
      org.apache.thrift.TException
    • testRegisterTableWithComments

      public void testRegisterTableWithComments(TestIcebergSparkCompatibility.StorageFormat storageFormat) throws org.apache.thrift.TException
      Throws:
      org.apache.thrift.TException
    • testRegisterTableWithShowCreateTable

      public void testRegisterTableWithShowCreateTable(TestIcebergSparkCompatibility.StorageFormat storageFormat) throws org.apache.thrift.TException
      Throws:
      org.apache.thrift.TException
    • testRegisterTableWithReInsert

      public void testRegisterTableWithReInsert(TestIcebergSparkCompatibility.StorageFormat storageFormat) throws org.apache.thrift.TException
      Throws:
      org.apache.thrift.TException
    • testRegisterTableWithDroppedTable

      public void testRegisterTableWithDroppedTable(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testRegisterTableWithDifferentTableName

      public void testRegisterTableWithDifferentTableName(TestIcebergSparkCompatibility.StorageFormat storageFormat) throws org.apache.thrift.TException
      Throws:
      org.apache.thrift.TException
    • testRegisterTableWithMetadataFile

      public void testRegisterTableWithMetadataFile(TestIcebergSparkCompatibility.StorageFormat storageFormat) throws org.apache.thrift.TException
      Throws:
      org.apache.thrift.TException
    • testUnregisterNotIcebergTable

      public void testUnregisterNotIcebergTable()
    • testTrinoSetColumnType

      public void testTrinoSetColumnType(TestIcebergSparkCompatibility.StorageFormat storageFormat, String sourceColumnType, String sourceValueLiteral, String newColumnType, Object newValue)
    • testTrinoSetPartitionedColumnType

      public void testTrinoSetPartitionedColumnType(TestIcebergSparkCompatibility.StorageFormat storageFormat, String sourceColumnType, String sourceValueLiteral, String newColumnType, Object newValue)
    • testSetColumnTypeDataProvider

      public static Object[][] testSetColumnTypeDataProvider()
    • testTrinoAlterStructColumnType

      public void testTrinoAlterStructColumnType(TestIcebergSparkCompatibility.StorageFormat storageFormat)
    • testSparkAlterColumnType

      public void testSparkAlterColumnType(TestIcebergSparkCompatibility.StorageFormat storageFormat, String sourceColumnType, String sourceValueLiteral, String newColumnType, Object newValue)
    • testSparkAlterPartitionedColumnType

      public void testSparkAlterPartitionedColumnType(TestIcebergSparkCompatibility.StorageFormat storageFormat, String sourceColumnType, String sourceValueLiteral, String newColumnType, Object newValue)
    • testSparkAlterColumnType

      public static Object[][] testSparkAlterColumnType()
    • testSparkAlterStructColumnType

      public void testSparkAlterStructColumnType(TestIcebergSparkCompatibility.StorageFormat storageFormat)