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.