Class BaseConnectorTest


@TestInstance(PER_CLASS) public abstract class BaseConnectorTest extends AbstractTestQueries
Generic test for connectors.
  • Field Details

    • REQUIRED_TPCH_TABLES

      protected static final List<io.trino.tpch.TpchTable<?>> REQUIRED_TPCH_TABLES
  • Constructor Details

    • BaseConnectorTest

      public BaseConnectorTest()
  • Method Details

    • initMockCatalog

      @BeforeAll public void initMockCatalog()
    • buildMockConnectorPlugin

      protected MockConnectorPlugin buildMockConnectorPlugin()
    • hasBehavior

      protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
      Make sure to group related behaviours together in the order and grouping they are declared in TestingConnectorBehavior.
    • ensureTestNamingConvention

      @Test public void ensureTestNamingConvention()
      Overrides:
      ensureTestNamingConvention in class AbstractTestQueryFramework
    • ensureDistributedQueryRunner

      @Test public void ensureDistributedQueryRunner()
      Ensure the tests are run with DistributedQueryRunner with multiple workers.
    • testShowCreateSchema

      @Test public void testShowCreateSchema()
    • testCreateSchema

      @Test public void testCreateSchema()
    • testDropNonEmptySchemaWithTable

      @Test public void testDropNonEmptySchemaWithTable()
    • testDropNonEmptySchemaWithView

      @Test public void testDropNonEmptySchemaWithView()
    • testDropNonEmptySchemaWithMaterializedView

      @Test public void testDropNonEmptySchemaWithMaterializedView()
    • testColumnsInReverseOrder

      @Test public void testColumnsInReverseOrder()
    • testCharVarcharComparison

      @Test public void testCharVarcharComparison()
    • testVarcharCharComparison

      @Test public void testVarcharCharComparison()
    • testAggregation

      @Test public void testAggregation()
    • testExactPredicate

      @Test public void testExactPredicate()
    • testInListPredicate

      @Test public void testInListPredicate()
    • testIsNullPredicate

      @Test public void testIsNullPredicate()
    • testLikePredicate

      @Test public void testLikePredicate()
    • testMultipleRangesPredicate

      @Test public void testMultipleRangesPredicate()
    • testRangePredicate

      @Test public void testRangePredicate()
    • testDateYearOfEraPredicate

      @Test public void testDateYearOfEraPredicate()
    • testPredicateReflectedInExplain

      @Test public void testPredicateReflectedInExplain()
    • testSortItemsReflectedInExplain

      @Test public void testSortItemsReflectedInExplain()
    • testVarcharCastToDateInPredicate

      @Test public void testVarcharCastToDateInPredicate()
    • testConcurrentScans

      @Test public void testConcurrentScans()
    • testSelectAll

      @Test public void testSelectAll()
    • testSelectInTransaction

      @Test public void testSelectInTransaction()
    • testSelectVersionOfNonExistentTable

      @Test public void testSelectVersionOfNonExistentTable()
    • testTrySelectTableVersion

      @Test public void testTrySelectTableVersion()
      A connector can support FOR TIMESTAMP, FOR VERSION, both or none. With FOR TIMESTAMP/VERSION is can support some types but not the others. Because of version support being multidimensional, TestingConnectorBehavior is not defined. The test verifies that query doesn't fail in some weird way, serving as a smoke test for versioning. The purpose of the test is to validate the connector does proper validation.
    • verifyVersionedQueryFailurePermissible

      protected void verifyVersionedQueryFailurePermissible(Exception e)
    • testJoinWithEmptySides

      @Test public void testJoinWithEmptySides()
      Test interactions between optimizer (including CBO), scheduling and connector metadata APIs.
    • testJoin

      @Test public void testJoin()
      Test interactions between optimizer (including CBO) and connector metadata APIs.
    • testDescribeTable

      @Test public void testDescribeTable()
    • getDescribeOrdersResult

      protected MaterializedResult getDescribeOrdersResult()
    • testShowInformationSchemaTables

      @Test public void testShowInformationSchemaTables()
    • testView

      @Test public void testView()
    • testCreateViewSchemaNotFound

      @Test public void testCreateViewSchemaNotFound()
    • testViewCaseSensitivity

      @Test public void testViewCaseSensitivity()
    • testMaterializedView

      @Test public void testMaterializedView()
    • testMaterializedViewAllTypes

      @Test public void testMaterializedViewAllTypes()
    • testMaterializedViewGracePeriod

      @Test public void testMaterializedViewGracePeriod()
    • testFederatedMaterializedView

      @Test public void testFederatedMaterializedView()
    • testFederatedMaterializedViewWithGracePeriod

      @Test public void testFederatedMaterializedViewWithGracePeriod()
    • testMaterializedViewBaseTableGone

      @Test public void testMaterializedViewBaseTableGone()
    • testColumnCommentMaterializedView

      @Test public void testColumnCommentMaterializedView()
    • testCompatibleTypeChangeForView

      @Test public void testCompatibleTypeChangeForView()
    • testCompatibleTypeChangeForView2

      @Test public void testCompatibleTypeChangeForView2()
    • testViewMetadata

      @Test public void testViewMetadata()
    • testShowCreateView

      @Test public void testShowCreateView()
    • testRenameMaterializedView

      @Test public void testRenameMaterializedView()
    • testViewAndMaterializedViewTogether

      @Test public void testViewAndMaterializedViewTogether()
    • testExplainAnalyze

      @Test public void testExplainAnalyze()
    • testExplainAnalyzeVerbose

      @Test public void testExplainAnalyzeVerbose()
    • testTableSampleSystem

      @Test public void testTableSampleSystem()
    • testTableSampleWithFiltering

      @Test public void testTableSampleWithFiltering()
    • testShowCreateTable

      @Test public void testShowCreateTable()
    • testSelectInformationSchemaTables

      @Test public void testSelectInformationSchemaTables()
    • testSelectInformationSchemaColumns

      @Test public void testSelectInformationSchemaColumns()
    • testShowCreateInformationSchema

      @Test public void testShowCreateInformationSchema()
    • testShowCreateInformationSchemaTable

      @Test public void testShowCreateInformationSchemaTable()
    • testRollback

      @Test public void testRollback()
    • testWriteNotAllowedInTransaction

      @Test public void testWriteNotAllowedInTransaction()
    • assertWriteNotAllowedInTransaction

      protected void assertWriteNotAllowedInTransaction(TestingConnectorBehavior behavior, @Language("SQL") String sql)
    • testRenameSchema

      @Test public void testRenameSchema()
    • testDropSchemaCascade

      @Test public void testDropSchemaCascade()
    • testAddColumn

      @Test public void testAddColumn()
    • tableDefinitionForAddColumn

      protected String tableDefinitionForAddColumn()
      The table must have one column 'x' of varchar type.
    • testAddColumnWithComment

      @Test public void testAddColumnWithComment()
    • testAddNotNullColumnToEmptyTable

      @Test public void testAddNotNullColumnToEmptyTable()
    • testAddNotNullColumn

      @Test public void testAddNotNullColumn()
    • columnIsNullable

      protected boolean columnIsNullable(String tableName, String columnName)
    • verifyAddNotNullColumnToNonEmptyTableFailurePermissible

      protected void verifyAddNotNullColumnToNonEmptyTableFailurePermissible(Throwable e)
    • testAddRowField

      @Test public void testAddRowField()
    • testDropColumn

      @Test public void testDropColumn()
    • testDropRowField

      @Test public void testDropRowField()
    • testDropRowFieldWhenDuplicates

      @Test public void testDropRowFieldWhenDuplicates()
    • testDropRowFieldCaseSensitivity

      @Test public void testDropRowFieldCaseSensitivity()
    • testDropAmbiguousRowFieldCaseSensitivity

      @Test public void testDropAmbiguousRowFieldCaseSensitivity()
    • testDropAndAddColumnWithSameName

      @Test public void testDropAndAddColumnWithSameName()
    • testRenameColumn

      @Test public void testRenameColumn()
    • testRenameColumnWithComment

      @Test public void testRenameColumnWithComment()
    • testRenameRowField

      @Test public void testRenameRowField()
    • testRenameRowFieldCaseSensitivity

      @Test public void testRenameRowFieldCaseSensitivity()
    • testSetColumnType

      @Test public void testSetColumnType()
    • testSetColumnTypes

      @Test public void testSetColumnTypes()
    • filterSetColumnTypesDataProvider

      protected Optional<BaseConnectorTest.SetColumnTypeSetup> filterSetColumnTypesDataProvider(BaseConnectorTest.SetColumnTypeSetup setup)
    • testSetColumnTypeWithNotNull

      @Test public void testSetColumnTypeWithNotNull()
    • testSetColumnTypeWithComment

      @Test public void testSetColumnTypeWithComment()
    • testSetColumnTypeWithDefaultColumn

      @Test public void testSetColumnTypeWithDefaultColumn()
    • testSetColumnIncompatibleType

      @Test public void testSetColumnIncompatibleType()
    • testSetColumnOutOfRangeType

      @Test public void testSetColumnOutOfRangeType()
    • verifySetColumnTypeFailurePermissible

      protected void verifySetColumnTypeFailurePermissible(Throwable e)
    • testSetFieldType

      @Test public void testSetFieldType()
    • testSetFieldTypes

      @Test public void testSetFieldTypes()
    • setFieldTypesDataProvider

      public List<BaseConnectorTest.SetColumnTypeSetup> setFieldTypesDataProvider()
    • filterSetFieldTypesDataProvider

      protected Optional<BaseConnectorTest.SetColumnTypeSetup> filterSetFieldTypesDataProvider(BaseConnectorTest.SetColumnTypeSetup setup)
    • testSetFieldTypeCaseSensitivity

      @Test public void testSetFieldTypeCaseSensitivity()
    • testSetFieldTypeWithNotNull

      @Test public void testSetFieldTypeWithNotNull()
    • testSetFieldTypeWithComment

      @Test public void testSetFieldTypeWithComment()
    • testSetFieldIncompatibleType

      @Test public void testSetFieldIncompatibleType()
    • testSetFieldOutOfRangeType

      @Test public void testSetFieldOutOfRangeType()
    • verifySetFieldTypeFailurePermissible

      protected void verifySetFieldTypeFailurePermissible(Throwable e)
    • getColumnType

      protected String getColumnType(String tableName, String columnName)
    • testDropNotNullConstraint

      @Test public void testDropNotNullConstraint()
    • testDropNotNullConstraintWithColumnComment

      @Test public void testDropNotNullConstraintWithColumnComment()
    • testCreateTable

      @Test public void testCreateTable()
    • testCreateSchemaWithNonLowercaseOwnerName

      @Test public void testCreateSchemaWithNonLowercaseOwnerName()
    • testCreateOrReplaceTableWhenTableDoesNotExist

      @Test public void testCreateOrReplaceTableWhenTableDoesNotExist()
    • testCreateOrReplaceTableAsSelectWhenTableDoesNotExists

      @Test public void testCreateOrReplaceTableAsSelectWhenTableDoesNotExists()
    • testCreateOrReplaceTableWhenTableAlreadyExistsSameSchema

      @Test public void testCreateOrReplaceTableWhenTableAlreadyExistsSameSchema()
    • testCreateOrReplaceTableWhenTableAlreadyExistsSameSchemaNoData

      @Test public void testCreateOrReplaceTableWhenTableAlreadyExistsSameSchemaNoData()
    • testCreateOrReplaceTableWithNewColumnNames

      @Test public void testCreateOrReplaceTableWithNewColumnNames()
    • testCreateOrReplaceTableWithDifferentDataType

      @Test public void testCreateOrReplaceTableWithDifferentDataType()
    • testCreateSchemaWithLongName

      @Test public void testCreateSchemaWithLongName()
    • testRenameSchemaToLongName

      @Test public void testRenameSchemaToLongName()
    • maxSchemaNameLength

      protected OptionalInt maxSchemaNameLength()
    • verifySchemaNameLengthFailurePermissible

      protected void verifySchemaNameLengthFailurePermissible(Throwable e)
    • testCreateTableWithLongTableName

      @Test public void testCreateTableWithLongTableName()
    • testRenameTableToLongTableName

      @Test public void testRenameTableToLongTableName()
    • maxTableNameLength

      protected OptionalInt maxTableNameLength()
    • maxTableRenameLength

      protected OptionalInt maxTableRenameLength()
    • verifyTableNameLengthFailurePermissible

      protected void verifyTableNameLengthFailurePermissible(Throwable e)
    • testCreateTableWithLongColumnName

      @Test public void testCreateTableWithLongColumnName()
    • testAlterTableAddLongColumnName

      @Test public void testAlterTableAddLongColumnName()
    • testAlterTableRenameColumnToLongName

      @Test public void testAlterTableRenameColumnToLongName()
    • columnExists

      protected boolean columnExists(String tableName, String columnName)
    • maxColumnNameLength

      protected OptionalInt maxColumnNameLength()
    • verifyColumnNameLengthFailurePermissible

      protected void verifyColumnNameLengthFailurePermissible(Throwable e)
    • testCreateTableWithTableComment

      @Test public void testCreateTableWithTableComment()
    • testCreateTableWithColumnComment

      @Test public void testCreateTableWithColumnComment()
    • testCreateTableSchemaNotFound

      @Test public void testCreateTableSchemaNotFound()
    • testCreateTableAsSelect

      @Test public void testCreateTableAsSelect()
    • testCreateTableAsSelectWithTableComment

      @Test public void testCreateTableAsSelectWithTableComment()
    • testCreateTableAsSelectSchemaNotFound

      @Test public void testCreateTableAsSelectSchemaNotFound()
    • testCreateTableAsSelectWithUnicode

      @Test public void testCreateTableAsSelectWithUnicode()
    • assertCreateTableAsSelect

      protected void assertCreateTableAsSelect(@Language("SQL") String query, @Language("SQL") String rowCountQuery)
    • assertCreateTableAsSelect

      protected void assertCreateTableAsSelect(@Language("SQL") String query, @Language("SQL") String expectedQuery, @Language("SQL") String rowCountQuery)
    • assertCreateTableAsSelect

      protected void assertCreateTableAsSelect(Session session, @Language("SQL") String query, @Language("SQL") String expectedQuery, @Language("SQL") String rowCountQuery)
    • testCreateTableAsSelectNegativeDate

      @Test public void testCreateTableAsSelectNegativeDate()
    • errorMessageForCreateTableAsSelectNegativeDate

      @Language("RegExp") protected String errorMessageForCreateTableAsSelectNegativeDate(String date)
    • testRenameTable

      @Test public void testRenameTable() throws Exception
      Throws:
      Exception
    • testRenameTableAcrossSchema

      @Test public void testRenameTableAcrossSchema() throws Exception
      Throws:
      Exception
    • testRenameTableToUnqualifiedPreservesSchema

      @Test public void testRenameTableToUnqualifiedPreservesSchema() throws Exception
      Throws:
      Exception
    • testCommentTable

      @Test public void testCommentTable()
    • getTableComment

      protected String getTableComment(String catalogName, String schemaName, String tableName)
    • testCommentView

      @Test public void testCommentView()
    • testCommentColumn

      @Test public void testCommentColumn()
    • testCommentColumnName

      @Test public void testCommentColumnName()
    • testCommentColumnName

      protected void testCommentColumnName(String columnName, boolean delimited)
    • testCommentViewColumn

      @Test public void testCommentViewColumn()
    • getColumnComment

      protected String getColumnComment(String tableName, String columnName)
    • testInsert

      @Test public void testInsert()
    • testInsertForDefaultColumn

      @Test public void testInsertForDefaultColumn()
    • createTableWithDefaultColumns

      protected TestTable createTableWithDefaultColumns()
    • testInsertUnicode

      @Test public void testInsertUnicode()
    • testInsertHighestUnicodeCharacter

      @Test public void testInsertHighestUnicodeCharacter()
    • testInsertArray

      @Test public void testInsertArray()
    • testInsertSameValues

      @Test public void testInsertSameValues()
    • testInsertNegativeDate

      @Test public void testInsertNegativeDate()
    • errorMessageForInsertNegativeDate

      @Language("RegExp") protected String errorMessageForInsertNegativeDate(String date)
    • testInsertIntoNotNullColumn

      @Test public void testInsertIntoNotNullColumn()
    • testUpdateNotNullColumn

      @Test public void testUpdateNotNullColumn()
    • errorMessageForInsertIntoNotNullColumn

      @Language("RegExp") protected String errorMessageForInsertIntoNotNullColumn(String columnName)
    • testInsertInTransaction

      @Test public void testInsertInTransaction()
    • testSelectAfterInsertInTransaction

      @Test public void testSelectAfterInsertInTransaction()
    • verifySelectAfterInsertFailurePermissible

      protected void verifySelectAfterInsertFailurePermissible(Throwable e)
    • testDelete

      @Test public void testDelete()
    • testDeleteWithLike

      @Test public void testDeleteWithLike()
    • testDeleteWithComplexPredicate

      @Test public void testDeleteWithComplexPredicate()
    • testDeleteWithSubquery

      @Test public void testDeleteWithSubquery()
    • testExplainAnalyzeWithDeleteWithSubquery

      @Test public void testExplainAnalyzeWithDeleteWithSubquery()
    • testDeleteWithSemiJoin

      @Test public void testDeleteWithSemiJoin()
    • testDeleteWithVarcharPredicate

      @Test public void testDeleteWithVarcharPredicate()
    • verifySupportsDeleteDeclaration

      @Test public void verifySupportsDeleteDeclaration()
    • verifySupportsRowLevelDeleteDeclaration

      @Test public void verifySupportsRowLevelDeleteDeclaration()
    • testDeleteAllDataFromTable

      @Test public void testDeleteAllDataFromTable()
    • testRowLevelDelete

      @Test public void testRowLevelDelete()
    • verifySupportsUpdateDeclaration

      @Test public void verifySupportsUpdateDeclaration()
    • verifySupportsRowLevelUpdateDeclaration

      @Test public void verifySupportsRowLevelUpdateDeclaration()
    • testUpdate

      @Test public void testUpdate()
    • testRowLevelUpdate

      @Test public void testRowLevelUpdate()
    • testUpdateRowConcurrently

      @RepeatedTest(4) @Timeout(60L) public void testUpdateRowConcurrently() throws Exception
      Throws:
      Exception
    • verifyConcurrentUpdateFailurePermissible

      protected void verifyConcurrentUpdateFailurePermissible(Exception e)
    • testInsertRowConcurrently

      @RepeatedTest(4) @Timeout(60L) public void testInsertRowConcurrently() throws Exception
      Throws:
      Exception
    • verifyConcurrentInsertFailurePermissible

      protected void verifyConcurrentInsertFailurePermissible(Exception e)
    • testAddColumnConcurrently

      @RepeatedTest(4) @Timeout(60L) public void testAddColumnConcurrently() throws Exception
      Throws:
      Exception
    • verifyConcurrentAddColumnFailurePermissible

      protected void verifyConcurrentAddColumnFailurePermissible(Exception e)
    • testCreateOrReplaceTableConcurrently

      @RepeatedTest(4) @Timeout(60L) public void testCreateOrReplaceTableConcurrently() throws Exception
      Throws:
      Exception
    • createTableWithOneIntegerColumn

      protected TestTable createTableWithOneIntegerColumn(String namePrefix)
    • testUpdateWithPredicates

      @Test public void testUpdateWithPredicates()
    • testUpdateRowType

      @Test public void testUpdateRowType()
    • testPredicateOnRowTypeField

      @Test public void testPredicateOnRowTypeField()
    • testUpdateAllValues

      @Test public void testUpdateAllValues()
    • testDropTable

      @Test public void testDropTable()
    • testDropTableIfExists

      @Test public void testDropTableIfExists()
    • testTruncateTable

      @Test public void testTruncateTable()
    • testQueryLoggingCount

      @Test public void testQueryLoggingCount()
    • tableDefinitionForQueryLoggingCount

      @Language("SQL") protected String tableDefinitionForQueryLoggingCount()
      The table must have two columns foo_1 and foo_2_4 of any type.
    • testShowSchemasFromOther

      @Test public void testShowSchemasFromOther()
    • testSymbolAliasing

      @Test public void testSymbolAliasing()
    • testWrittenStats

      @Test public void testWrittenStats()
    • testWrittenDataSize

      @Test public void testWrittenDataSize()
    • testNoDataSystemTable

      @Test public void testNoDataSystemTable()
      Some connectors support system table denoted with $-suffix. Ensure no connector exposes table_name$data directly to users, as it would mean the same thing as table_name itself.
    • testColumnName

      @Test public void testColumnName()
    • testColumnName

      protected void testColumnName(String columnName, boolean delimited)
    • testAddAndDropColumnName

      @Test public void testAddAndDropColumnName()
    • testAddAndDropColumnName

      protected void testAddAndDropColumnName(String columnName, boolean delimited)
    • createTableSqlForAddingAndDroppingColumn

      protected String createTableSqlForAddingAndDroppingColumn(String tableName, String columnNameInSql)
      Create a table with name "tableName" and with two columns: "columnNameInSql" varchar(50), value varchar(50)
    • testRenameColumnName

      @Test public void testRenameColumnName()
    • testRenameColumnName

      protected void testRenameColumnName(String columnName, boolean delimited)
    • isColumnNameRejected

      protected boolean isColumnNameRejected(Exception exception, String columnName, boolean delimited)
    • requiresDelimiting

      protected static boolean requiresDelimiting(String identifierName)
    • testColumnNameDataProvider

      public List<String> testColumnNameDataProvider()
    • filterColumnNameTestData

      protected Optional<String> filterColumnNameTestData(String columnName)
    • dataMappingTableName

      protected String dataMappingTableName(String trinoTypeName)
    • testCreateTableWithTableCommentSpecialCharacter

      @Test public void testCreateTableWithTableCommentSpecialCharacter()
    • testCreateTableWithTableCommentSpecialCharacter

      protected void testCreateTableWithTableCommentSpecialCharacter(String comment)
    • testCreateTableAsSelectWithTableCommentSpecialCharacter

      @Test public void testCreateTableAsSelectWithTableCommentSpecialCharacter()
    • testCreateTableWithColumnCommentSpecialCharacter

      @Test public void testCreateTableWithColumnCommentSpecialCharacter()
    • testAddColumnWithCommentSpecialCharacter

      @Test public void testAddColumnWithCommentSpecialCharacter()
    • testAddColumnWithCommentSpecialCharacter

      protected void testAddColumnWithCommentSpecialCharacter(String comment)
    • testCommentTableSpecialCharacter

      @Test public void testCommentTableSpecialCharacter()
    • testCommentColumnSpecialCharacter

      @Test public void testCommentColumnSpecialCharacter()
    • varcharLiteral

      protected static String varcharLiteral(String value)
    • testDataMappingSmokeTest

      @Test public void testDataMappingSmokeTest()
    • testDataMappingSmokeTestDataProvider

      public final List<BaseConnectorTest.DataMappingTestSetup> testDataMappingSmokeTestDataProvider()
    • filterDataMappingSmokeTestData

      protected Optional<BaseConnectorTest.DataMappingTestSetup> filterDataMappingSmokeTestData(BaseConnectorTest.DataMappingTestSetup dataMappingTestSetup)
    • testCaseSensitiveDataMapping

      @Test public void testCaseSensitiveDataMapping()
    • filterCaseSensitiveDataMappingTestData

      protected Optional<BaseConnectorTest.DataMappingTestSetup> filterCaseSensitiveDataMappingTestData(BaseConnectorTest.DataMappingTestSetup dataMappingTestSetup)
    • testPotentialDuplicateDereferencePushdown

      @Test public void testPotentialDuplicateDereferencePushdown()
      A regression test for row (struct) dereference pushdown edge case, with duplicate expressions. See https://github.com/trinodb/trino/issues/11559 and https://github.com/trinodb/trino/issues/11560.
    • testMergeDeleteWithCTAS

      @Test public void testMergeDeleteWithCTAS()
    • createTableForWrites

      protected String createTableForWrites(String createTable)
    • testMergeLarge

      @Test public void testMergeLarge()
    • testMergeSimpleSelect

      @Test public void testMergeSimpleSelect()
    • testMergeFruits

      @Test public void testMergeFruits()
    • testMergeMultipleOperations

      @Test public void testMergeMultipleOperations()
    • testMergeSimpleQuery

      @Test public void testMergeSimpleQuery()
    • testMergeAllInserts

      @Test public void testMergeAllInserts()
    • testMergeFalseJoinCondition

      @Test public void testMergeFalseJoinCondition()
    • testMergeAllColumnsUpdated

      @Test public void testMergeAllColumnsUpdated()
    • testMergeAllMatchesDeleted

      @Test public void testMergeAllMatchesDeleted()
    • testMergeMultipleRowsMatchFails

      @Test public void testMergeMultipleRowsMatchFails()
    • testMergeQueryWithStrangeCapitalization

      @Test public void testMergeQueryWithStrangeCapitalization()
    • testMergeWithoutTablesAliases

      @Test public void testMergeWithoutTablesAliases()
    • testMergeWithUnpredictablePredicates

      @Test public void testMergeWithUnpredictablePredicates()
    • testMergeWithSimplifiedUnpredictablePredicates

      @Test public void testMergeWithSimplifiedUnpredictablePredicates()
    • testMergeCasts

      @Test public void testMergeCasts()
    • testMergeSubqueries

      @Test public void testMergeSubqueries()
    • testMergeNonNullableColumns

      @Test public void testMergeNonNullableColumns()
    • testMergeAllColumnsReversed

      @Test public void testMergeAllColumnsReversed()
    • testMaterializedViewColumnName

      @Test public void testMaterializedViewColumnName()
    • testCreateFunction

      @Test public void testCreateFunction()
    • testProjectionPushdown

      @Test public void testProjectionPushdown()
    • testProjectionWithCaseSensitiveField

      @Test public void testProjectionWithCaseSensitiveField()
    • testProjectionPushdownMultipleRows

      @Test public void testProjectionPushdownMultipleRows()
    • testProjectionPushdownWithHighlyNestedData

      @Test public void testProjectionPushdownWithHighlyNestedData()
    • testProjectionPushdownReadsLessData

      @Test public void testProjectionPushdownReadsLessData()
    • testProjectionPushdownPhysicalInputSize

      @Test public void testProjectionPushdownPhysicalInputSize()
    • skipTestUnless

      protected static void skipTestUnless(boolean requirement)
    • assertPartialLimitWithPreSortedInputsCount

      protected Consumer<Plan> assertPartialLimitWithPreSortedInputsCount(Session session, int expectedCount)
    • withMockTableListing

      protected void withMockTableListing(String forSchema, Function<ConnectorSession,List<String>> listing, Runnable closure)
    • createSchemaSql

      protected String createSchemaSql(String schemaName)
    • supportsPhysicalPushdown

      protected boolean supportsPhysicalPushdown()
    • sessionWithProjectionPushdownDisabled

      protected Session sessionWithProjectionPushdownDisabled(Session session)
    • withoutSmallFileThreshold

      protected Session withoutSmallFileThreshold(Session session)