This is an automated email from the ASF dual-hosted git repository. hanahmily pushed a change to branch sidx/query in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
at 30a03709 Refactor tag structure and update field names: Change tag field names to use exported formats (e.g., name to Name) for consistency across the codebase. Introduce a new Tag struct with methods for creation, resetting, and copying. Update related tests to reflect these changes, ensuring proper functionality and clarity in tag handling. This branch includes the following new commits: new f525e92d Enhance TODO for Secondary Index File System: Update Phase 6 with detailed implementation tasks for Query Path, including part and multi-part iterators, block scanner, and query result handling. Improve structure and clarity of tasks and test cases to align with stream architecture. new 74766cad Refactor block structure: Remove elementIDs from block and related methods, simplifying data validation and serialization. Update tests to reflect changes in data handling and ensure consistency in block operations. new dbd63c5b Add part_iter new aa5cf342 Refactor metadata and part iterator: Clean up whitespace and improve code readability in metadata.go and part_iter.go. Update tests to use compressed primary block metadata for better memory management in part_test.go. new e11b3ef8 Refactor block and part handling: Remove mustInitFromElements method from block, update MustWriteElements to accept data directly, and enhance part to read and decode metadata and tags. Improve memory management and streamline element initialization in tests. new 5bc319fe Refactor block metadata handling: Update marshal and unmarshal methods for blockMetadata to improve serialization and deserialization efficiency. Modify tests to accommodate changes in metadata handling and ensure consistency in data processing across the codebase. new bb901df2 Add part iterator tests: Implement comprehensive unit tests for part iterator functionality, covering various scenarios including single and multiple series, key range filtering, and edge cases. Ensure robust validation of expected outcomes and error handling in part iteration. new 50ba6021 Refactor part iterator tests: Consolidate test logic into a helper function to improve readability and maintainability. Implement separate subtests for file-based and memory-based parts, ensuring comprehensive coverage of part iteration scenarios and validation of expected outcomes. new 688464dc Add block filtering capabilities to part iterator: Enhance the part iterator by introducing a block filter mechanism, allowing for conditional block processing based on user-defined criteria. Update tests to validate the behavior of the iterator with various block filter scenarios, including nil filters and mock filters that allow or skip blocks, ensuring robust error handling and expected outcomes. new f4b4d939 Implement tag filtering operations: Introduce the tagFilterOp struct for efficient tag filtering in the secondary index, including equality and range checks. Add comprehensive unit tests for tag filtering functionality, covering various scenarios and edge cases. Ensure robust error handling and performance validation through benchmarks. new 32ef465c Add multi-part iterator implementation: Introduce the `iter` struct with a heap-based mechanism for efficient block iteration across multiple parts. Implement methods for initialization, block retrieval, and error handling. Add comprehensive unit tests to validate iterator functionality, including edge cases and ordering across series. Update metadata handling to support new comparison logic for block metadata. new f6389f50 Refactor iterator test structure: Introduce blockFilter and expectOrder fields in the test case struct for comprehensive iterator testing. Update runIteratorTest function to accommodate new fields, enhancing clarity and maintainability of test cases. new 6880003a Refactor QueryRequest structure: Replace Entities with SeriesIDs for improved query handling. Introduce MinKey and MaxKey for range queries, enhancing validation logic. Update related components and tests to accommodate new structure and ensure robust functionality. new 439473a9 Enhance query result processing: Introduce shared tag loading optimization in queryResult struct to improve performance. Implement heap-based merging for QueryResponse shards, supporting both ascending and descending order merges. Update loadBlockData and loadTagData methods for efficient tag data retrieval and processing. Ensure robust handling of compressed data and metadata during block loading. new deb271f8 Refactor QueryRequest and related components: Rearrange fields in QueryRequest for improved clarity and performance. Update QueryResponse and mock components to align with new structure. Introduce comprehensive tests for QueryResponseHeap functionality, ensuring robust handling of merging and edge cases in both ascending and descending orders. new b9b800a2 Add copyFrom method for blockMetadata: Implement deep copy functionality to ensure accurate duplication of metadata fields, including handling of tags and projections. Introduce comprehensive tests to validate copy behavior across various scenarios, including edge cases and existing data overwrites. new c3298a47 Refactor tag metadata serialization: Update marshal and unmarshal methods in tagMetadata to utilize the encoding package for improved efficiency and clarity. Adjust related tests to reflect changes in the serialization process, ensuring robust functionality and error handling. new 898681f6 Refactor mock components and query result structure: Rearrange fields in mockQuerierResult and mockSIDXQueryResult for improved clarity. Update queryResult struct to include request field and optimize data handling with buffer reuse for decompression operations. Ensure efficient reading and processing of metadata and data payloads. new 38d88711 Refactor user keys handling: Update the processing of user-provided int64 keys to write encoded data directly without compression. Adjust related comments and remove decompression steps in the readAll and loadBlockData methods for improved efficiency and clarity. new 0905e101 Refactor tag data handling: Update the writing and reading of tag data to eliminate compression, improving efficiency. Adjust related comments and tests to reflect the changes in data processing, ensuring clarity and robust functionality. new ce83f369 Refactor tag data compression: Remove compression and decompression functions for tag data, streamlining the handling of tag metadata. Update related tests to reflect the removal of compression logic, ensuring clarity and maintaining functionality. new 3457435c Update QueryRequest to include SeriesIDs: Modify various test cases and components to incorporate SeriesIDs in QueryRequest, enhancing query handling and ensuring consistency across tests. Adjust comments for clarity and improve the structure of test cases related to query results and mock components. new 578401a8 Refactor QueryRequest usage: Remove Name field from QueryRequest across various components and tests, replacing it with SeriesIDs for improved query validation and consistency. Update related tests to ensure proper error handling and functionality, enhancing overall clarity and robustness. new c0736c3f Refactor tag handling and data structures: Update tag data representation to use pointers for improved memory efficiency and performance. Modify related methods and tests to accommodate the new structure, ensuring robust functionality and clarity in tag processing. Enhance query result handling by optimizing tag data retrieval and processing, while maintaining compatibility with existing components. new a58c8458 Refactor tag handling in tests: Introduce constants for tag names to improve code clarity and maintainability. Update test cases to utilize these constants, ensuring consistency across tag usage. Enhance tag copying logic in tests to ensure proper handling of tag attributes during element comparisons. new 30a03709 Refactor tag structure and update field names: Change tag field names to use exported formats (e.g., name to Name) for consistency across the codebase. Introduce a new Tag struct with methods for creation, resetting, and copying. Update related tests to reflect these changes, ensuring proper functionality and clarity in tag handling. The 26 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.