TEST_F(TestObSSTableSchema, write_schema_to_disk) { ObSSTableSchema schema; ObSSTableSchemaColumnDef column_def; int ret = OB_SUCCESS; column_def.reserved_ = 0; for ( int table_id = 1000; table_id < 1010; ++table_id ) { column_def.table_id_ = table_id; for ( int group_id = 1 ; group_id <= 10; ++group_id ) { column_def.column_group_id_ = static_cast<uint16_t>(group_id); for ( int column_id = 0; column_id < group_id; ++column_id ) { column_def.column_name_id_ = column_id; column_def.column_value_type_ = ObIntType; ret = schema.add_column_def(column_def); EXPECT_TRUE(OB_SUCCESS == ret); } } } EXPECT_EQ(550, schema.get_column_count()); FileUtils filesys; filesys.open(schema_file_name, O_WRONLY | O_CREAT | O_TRUNC, 0644); int64_t buf_size = schema.get_serialize_size(); char * serialize_buf = reinterpret_cast<char *>(malloc(buf_size)); EXPECT_TRUE(NULL != serialize_buf); int64_t pos = 0; schema.serialize(serialize_buf, buf_size, pos); int64_t write_size = filesys.write(serialize_buf, buf_size); EXPECT_EQ(write_size, buf_size); free(serialize_buf); serialize_buf = NULL; }