TEST_F(TestObSSTableSchema, test_compatible) { ObSSTableSchema schema; const ObSSTableSchemaColumnDef *column = NULL; int64_t file_len = FileDirectoryUtils::get_size(schema_file_name); char * file_buf = reinterpret_cast<char*>(malloc(file_len)); int64_t pos = 0; FileUtils filesys; filesys.open(schema_file_name, O_RDONLY); int64_t read_size = filesys.read(file_buf, file_len); EXPECT_EQ(read_size, file_len); schema.deserialize(file_buf, file_len, pos); EXPECT_EQ(schema.get_column_count(), 550); int64_t index_find = 0; int64_t index = 0; int64_t table_schema_size = 0; int64_t group_schema_size = 0; for (uint64_t table_id = 1000; table_id < 1010; ++table_id) { schema.get_table_schema(table_id, table_schema_size); EXPECT_EQ(55, table_schema_size); for(uint64_t group_id = 1; group_id < 11; ++group_id) { schema.get_group_schema(table_id, group_id, group_schema_size); EXPECT_EQ(group_schema_size, (int64_t)group_id); for(uint64_t column_id = 0; column_id < group_id; ++column_id) { index_find = schema.find_column_id(table_id, group_id, column_id); column = schema.get_column_def(index_find); EXPECT_EQ(index, index_find); EXPECT_EQ(column_id, column->column_name_id_); EXPECT_EQ(group_id, column->column_group_id_); EXPECT_EQ(table_id, column->table_id_); EXPECT_EQ(ObIntType, column->column_value_type_); ++index; } } } }