@@ -476,17 +476,28 @@ void testComplexTypesReturnVarcharWhenSupportDisabled() throws SQLException {
476476 Arrays .asList (DATA_TYPE_COLUMN , COLUMN_TYPE_COLUMN , SQL_DATA_TYPE_COLUMN );
477477 List <List <Object >> rows =
478478 Arrays .asList (
479- Arrays .asList (2003 , "ARRAY<DATE>" , 2003 ), Arrays .asList (2002 , "MAP<STRING,INT>" , 2002 ));
479+ Arrays .asList (2003 , "ARRAY<DATE>" , 2003 ),
480+ Arrays .asList (2002 , "MAP<STRING,INT>" , 2002 ),
481+ Arrays .asList (2002 , "STRUCT<name:STRING,age:INT>" , 2002 ),
482+ Arrays .asList (1111 , "VARIANT" , 1111 ));
480483
481484 List <List <Object >> updatedRows = metadataResultSetBuilder .getThriftRows (rows , columns );
482485
483486 List <Object > arrayRow = updatedRows .get (0 );
484- assertEquals (12 , arrayRow .get (0 )); // DATA_TYPE should be 12 (VARCHAR)
485- assertEquals (12 , arrayRow .get (2 )); // SQL_DATA_TYPE should be 12 (VARCHAR)
487+ assertEquals (12 , arrayRow .get (0 ));
488+ assertEquals (12 , arrayRow .get (2 ));
486489
487490 List <Object > mapRow = updatedRows .get (1 );
488- assertEquals (12 , mapRow .get (0 )); // DATA_TYPE should be 12 (VARCHAR)
489- assertEquals (12 , mapRow .get (2 )); // SQL_DATA_TYPE should be 12 (VARCHAR)
491+ assertEquals (12 , mapRow .get (0 ));
492+ assertEquals (12 , mapRow .get (2 ));
493+
494+ List <Object > structRow = updatedRows .get (2 );
495+ assertEquals (12 , structRow .get (0 ));
496+ assertEquals (12 , structRow .get (2 ));
497+
498+ List <Object > variantRow = updatedRows .get (3 );
499+ assertEquals (1111 , variantRow .get (0 ));
500+ assertEquals (1111 , variantRow .get (2 ));
490501 }
491502
492503 @ Test
@@ -497,16 +508,27 @@ void testComplexTypesReturnActualCodesWhenSupportEnabled() throws SQLException {
497508 Arrays .asList (DATA_TYPE_COLUMN , COLUMN_TYPE_COLUMN , SQL_DATA_TYPE_COLUMN );
498509 List <List <Object >> rows =
499510 Arrays .asList (
500- Arrays .asList (2003 , "ARRAY<DATE>" , 2003 ), Arrays .asList (2002 , "MAP<STRING,INT>" , 2002 ));
511+ Arrays .asList (2003 , "ARRAY<DATE>" , 2003 ),
512+ Arrays .asList (2002 , "MAP<STRING,INT>" , 2002 ),
513+ Arrays .asList (2002 , "STRUCT<name:STRING,age:INT>" , 2002 ),
514+ Arrays .asList (1111 , "VARIANT" , 1111 ));
501515
502516 List <List <Object >> updatedRows = metadataResultSetBuilder .getThriftRows (rows , columns );
503517
504518 List <Object > arrayRow = updatedRows .get (0 );
505- assertEquals (2003 , arrayRow .get (0 )); // DATA_TYPE should be 2003 (ARRAY)
506- assertEquals (2003 , arrayRow .get (2 )); // SQL_DATA_TYPE should be 2003 (ARRAY)
519+ assertEquals (2003 , arrayRow .get (0 ));
520+ assertEquals (2003 , arrayRow .get (2 ));
507521
508522 List <Object > mapRow = updatedRows .get (1 );
509- assertEquals (2002 , mapRow .get (0 )); // DATA_TYPE should be 2002 (MAP)
510- assertEquals (2002 , mapRow .get (2 )); // SQL_DATA_TYPE should be 2002 (MAP)
523+ assertEquals (2002 , mapRow .get (0 ));
524+ assertEquals (2002 , mapRow .get (2 ));
525+
526+ List <Object > structRow = updatedRows .get (2 );
527+ assertEquals (2002 , structRow .get (0 ));
528+ assertEquals (2002 , structRow .get (2 ));
529+
530+ List <Object > variantRow = updatedRows .get (3 );
531+ assertEquals (1111 , variantRow .get (0 ));
532+ assertEquals (1111 , variantRow .get (2 ));
511533 }
512534}
0 commit comments