@Test public void testTableHandleDeserialize() throws Exception { String json = objectMapper.writeValueAsString(TABLE_HANDLE_AS_MAP); HiveTableHandle tableHandle = objectMapper.readValue(json, HiveTableHandle.class); assertEquals(tableHandle.getClientId(), "hive"); assertEquals(tableHandle.getSchemaName(), "hive_schema"); assertEquals(tableHandle.getTableName(), "hive_table"); assertEquals(tableHandle.getSchemaTableName(), new SchemaTableName("hive_schema", "hive_table")); }
@Test public void testRoundTrip() { HiveTableHandle expected = new HiveTableHandle("client", "schema", "table"); String json = codec.toJson(expected); HiveTableHandle actual = codec.fromJson(json); assertEquals(actual.getClientId(), expected.getClientId()); assertEquals(actual.getSchemaTableName(), expected.getSchemaTableName()); } }
@Override public List<ConnectorTableLayoutResult> getTableLayouts(ConnectorSession session, ConnectorTableHandle tableHandle, Constraint<ColumnHandle> constraint, Optional<Set<ColumnHandle>> desiredColumns) { HiveTableHandle handle = checkType(tableHandle, HiveTableHandle.class, "tableHandle"); HivePartitionResult hivePartitionResult = partitionManager.getPartitions(session, metastore, tableHandle, constraint.getSummary()); return ImmutableList.of(new ConnectorTableLayoutResult( getTableLayout(session, new HiveTableLayoutHandle( handle.getClientId(), ImmutableList.copyOf(hivePartitionResult.getPartitionColumns()), hivePartitionResult.getPartitions(), hivePartitionResult.getEnforcedConstraint())), hivePartitionResult.getUnenforcedConstraint())); }