mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-11 07:42:54 +00:00
* feat(storage): Implement skeleton of ReadResolver ReadResolver is used to resolve difference between schemas * feat(storage): Add user_column_end to ReadResover * feat(storage): Implement Batch::batch_from_parts Used to construct Batch from parts according to the schema that user expects to read. * feat(storage): Compat memtable schema * feat(storage): Compat parquet file schema * fix(storage): ReadResolver supports projection under same schema version Now ReadResolver takes ProjectedSchemaRef as dest schema, and checks whether a value column is needed by the schema after projection. * feat(storage): Check whether columns are same columns is_source_column_readable() takes ColumnMetadata instead of ColumnSchema, and compares their column id to check whether they are same columns. * refactor(storage): Use row_key_end/user_column_end in source_schema Rename ReadResolver::is_needed to ReadResolver::is_source_needed, and remove row_key_end/user_column_end from ReadResolver, since they should be same as source_schema's * chore(storage): Remove unused codes * test(storage): Add tests for the resolver * feat(storage): Returns error on different source and dest column names * style(storage): Fix clippy * refactor: Rename ReadResolver to ReadAdapter * chore(table): Removed unused comment * refactor: rename to is_source_column_compatible