Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dataframe v2: extensive test suite and associated bug fixes for all existing features #7587

Merged
merged 6 commits into from
Oct 4, 2024

Conversation

teh-cmc
Copy link
Member

@teh-cmc teh-cmc commented Oct 3, 2024

This implements an extensive test suite that makes sure that all existing features of the dataframe API A) have their behavior fully specified in code (so we can at list agree on how things work right now) and B) that said behavior does in fact.. behave.

This unsurprisingly revealed many bugs, which this PR fixes.

The currently existing features are:

  • filtered_index
  • filtered_index_range
  • view_contents
  • selection

Tests will later be added for the following, yet to be implemented features:

  • filtered_index_values
  • sampled_index_values
  • filtered_point_of_view
  • sparse_fill_strategy

Checklist

  • I have read and agree to Contributor Guide and the Code of Conduct
  • I've included a screenshot or gif (if applicable)
  • I have tested the web demo (if applicable):
  • The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
  • If applicable, add a new check to the release checklist!
  • If have noted any breaking changes to the log API in CHANGELOG.md and the migration guide

To run all checks from main, comment on the PR with @rerun-bot full-check.

@teh-cmc teh-cmc added 🪳 bug Something isn't working 🔨 testing testing and benchmarks 🔍 re_query affects re_query itself do-not-merge Do not merge this PR exclude from changelog PRs with this won't show up in CHANGELOG.md labels Oct 3, 2024
Base automatically changed from cmc/overlapped_ranges_support to main October 4, 2024 07:10
@teh-cmc teh-cmc force-pushed the cmc/dataframev2_tests branch from c6f6ffe to 72c3083 Compare October 4, 2024 07:11
@teh-cmc teh-cmc removed the do-not-merge Do not merge this PR label Oct 4, 2024
Copy link
Member

@abey79 abey79 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wish the semantics part of these tests was more explicit. But maybe that should be kept for end-to-end tests in Python?

crates/store/re_dataframe2/src/query.rs Show resolved Hide resolved
crates/store/re_dataframe2/src/query.rs Show resolved Hide resolved
@teh-cmc
Copy link
Member Author

teh-cmc commented Oct 4, 2024

I wish the semantics part of these tests was more explicit. But maybe that should be kept for end-to-end tests in Python?

(Answering to this and all follow-up comments at once.)

We've tried these kinds of things before and they are hell to maintain -- and therefore don't get maintained and rot.

If you need a better semantic understanding of what these tests do, you can execute them with --show-output: all of them print the state of the store, the query being used and the results returned using the usual chunk table syntax:

cargo t -p re_dataframe2 -- --show-output barebones
Output
ChunkStore {
    id: 003cf266-0e07-44a6-a5a4-b0b045b383cd
    config: ChunkStoreConfig { enable_changelog: true, chunk_max_bytes: 0, chunk_max_rows: 0, chunk_max_rows_if_unsorted: 0 }
    stats: {
        num_chunks: 7
        total_size_bytes: 6.2 KiB
        num_rows: 28
        num_events: 35
    }
    chunks: [
        ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
        │ CHUNK METADATA:                                                                                                                                        │
        │ * entity_path: "/this/that"                                                                                                                            │
        │ * heap_size_bytes: "1116"                                                                                                                              │
        │ * id: "17FB33897C7394A3459406F3EB63FA34"                                                                                                               │
        │ * is_sorted: ""                                                                                                                                        │
        ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
        │ ┌──────────────────────────────────┬───────────────┬───────────────────────────────┬───────────────────┬───────────────────┬─────────────────────────┐ │
        │ │ RowId                            ┆ frame_nr      ┆ log_time                      ┆ example.MyColor   ┆ example.MyLabel   ┆ example.MyPoint         │ │
        │ │ ---                              ┆ ---           ┆ ---                           ┆ ---               ┆ ---               ┆ ---                     │ │
        │ │ type: "TUID"                     ┆ type: "i64"   ┆ type: "timestamp(ns)"         ┆ type: "list[u32]" ┆ type: "list[str]" ┆ type: "list[struct[2]]" │ │
        │ │ kind: "control"                  ┆ is_sorted: "" ┆ is_sorted: ""                 ┆ kind: "data"      ┆ kind: "data"      ┆ kind: "data"            │ │
        │ │                                  ┆ kind: "time"  ┆ kind: "time"                  ┆                   ┆                   ┆                         │ │
        │ ╞══════════════════════════════════╪═══════════════╪═══════════════════════════════╪═══════════════════╪═══════════════════╪═════════════════════════╡ │
        │ │ 17FB33897C739327459406F3EB63FA2E ┆ 1             ┆ 1970-01-01 00:00:00.000000001 ┆ -                 ┆ [a]               ┆ [{x: 0, y: 0}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C739381459406F3EB63FA2F ┆ 3             ┆ 1970-01-01 00:00:00.000000003 ┆ [2]               ┆ -                 ┆ [{x: 2, y: 2}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C7393B3459406F3EB63FA30 ┆ 5             ┆ 1970-01-01 00:00:00.000000005 ┆ -                 ┆ -                 ┆ [{x: 4, y: 4}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C7393EF459406F3EB63FA31 ┆ 7             ┆ 1970-01-01 00:00:00.000000007 ┆ -                 ┆ -                 ┆ [{x: 6, y: 6}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C73942B459406F3EB63FA32 ┆ 7             ┆ 1970-01-01 00:00:00.000000007 ┆ -                 ┆ -                 ┆ [{x: 7, y: 7}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C739467459406F3EB63FA33 ┆ 7             ┆ 1970-01-01 00:00:00.000000007 ┆ -                 ┆ -                 ┆ [{x: 8, y: 8}]          │ │
        │ └──────────────────────────────────┴───────────────┴───────────────────────────────┴───────────────────┴───────────────────┴─────────────────────────┘ │
        └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
        ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
        │ CHUNK METADATA:                                                                                                                                        │
        │ * entity_path: "/this/that"                                                                                                                            │
        │ * heap_size_bytes: "1116"                                                                                                                              │
        │ * id: "17FB33897C772963459406F3EB63FA35"                                                                                                               │
        │ * is_sorted: ""                                                                                                                                        │
        ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
        │ ┌──────────────────────────────────┬───────────────┬───────────────────────────────┬───────────────────┬───────────────────┬─────────────────────────┐ │
        │ │ RowId                            ┆ frame_nr      ┆ log_time                      ┆ example.MyColor   ┆ example.MyLabel   ┆ example.MyPoint         │ │
        │ │ ---                              ┆ ---           ┆ ---                           ┆ ---               ┆ ---               ┆ ---                     │ │
        │ │ type: "TUID"                     ┆ type: "i64"   ┆ type: "timestamp(ns)"         ┆ type: "list[u32]" ┆ type: "list[str]" ┆ type: "list[struct[2]]" │ │
        │ │ kind: "control"                  ┆ is_sorted: "" ┆ is_sorted: ""                 ┆ kind: "data"      ┆ kind: "data"      ┆ kind: "data"            │ │
        │ │                                  ┆ kind: "time"  ┆ kind: "time"                  ┆                   ┆                   ┆                         │ │
        │ ╞══════════════════════════════════╪═══════════════╪═══════════════════════════════╪═══════════════════╪═══════════════════╪═════════════════════════╡ │
        │ │ 17FB33897C772981459406F3EB63FA36 ┆ 1             ┆ 1970-01-01 00:00:00.000000001 ┆ -                 ┆ [a]               ┆ [{x: 0, y: 0}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C772981459406F3EB63FA37 ┆ 3             ┆ 1970-01-01 00:00:00.000000003 ┆ [2]               ┆ -                 ┆ [{x: 2, y: 2}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C772981459406F3EB63FA38 ┆ 5             ┆ 1970-01-01 00:00:00.000000005 ┆ -                 ┆ -                 ┆ [{x: 4, y: 4}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C772981459406F3EB63FA39 ┆ 7             ┆ 1970-01-01 00:00:00.000000007 ┆ -                 ┆ -                 ┆ [{x: 6, y: 6}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C772981459406F3EB63FA3A ┆ 7             ┆ 1970-01-01 00:00:00.000000007 ┆ -                 ┆ -                 ┆ [{x: 7, y: 7}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C772981459406F3EB63FA3B ┆ 7             ┆ 1970-01-01 00:00:00.000000007 ┆ -                 ┆ -                 ┆ [{x: 8, y: 8}]          │ │
        │ └──────────────────────────────────┴───────────────┴───────────────────────────────┴───────────────────┴───────────────────┴─────────────────────────┘ │
        └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
        ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
        │ CHUNK METADATA:                                                                                                                                        │
        │ * entity_path: "/this/that"                                                                                                                            │
        │ * heap_size_bytes: "1116"                                                                                                                              │
        │ * id: "17FB33897C778377459406F3EB63FA37"                                                                                                               │
        │ * is_sorted: ""                                                                                                                                        │
        ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
        │ ┌──────────────────────────────────┬───────────────┬───────────────────────────────┬───────────────────┬───────────────────┬─────────────────────────┐ │
        │ │ RowId                            ┆ frame_nr      ┆ log_time                      ┆ example.MyColor   ┆ example.MyLabel   ┆ example.MyPoint         │ │
        │ │ ---                              ┆ ---           ┆ ---                           ┆ ---               ┆ ---               ┆ ---                     │ │
        │ │ type: "TUID"                     ┆ type: "i64"   ┆ type: "timestamp(ns)"         ┆ type: "list[u32]" ┆ type: "list[str]" ┆ type: "list[struct[2]]" │ │
        │ │ kind: "control"                  ┆ is_sorted: "" ┆ is_sorted: ""                 ┆ kind: "data"      ┆ kind: "data"      ┆ kind: "data"            │ │
        │ │                                  ┆ kind: "time"  ┆ kind: "time"                  ┆                   ┆                   ┆                         │ │
        │ ╞══════════════════════════════════╪═══════════════╪═══════════════════════════════╪═══════════════════╪═══════════════════╪═════════════════════════╡ │
        │ │ 17FB33897C7783BD459406F3EB63FA38 ┆ 1             ┆ 1970-01-01 00:00:00.000000001 ┆ -                 ┆ [a]               ┆ [{x: 0, y: 0}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C7783BD459406F3EB63FA39 ┆ 3             ┆ 1970-01-01 00:00:00.000000003 ┆ [2]               ┆ -                 ┆ [{x: 2, y: 2}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C7783BD459406F3EB63FA3A ┆ 5             ┆ 1970-01-01 00:00:00.000000005 ┆ -                 ┆ -                 ┆ [{x: 4, y: 4}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C7783BD459406F3EB63FA3B ┆ 7             ┆ 1970-01-01 00:00:00.000000007 ┆ -                 ┆ -                 ┆ [{x: 6, y: 6}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C7783BD459406F3EB63FA3C ┆ 7             ┆ 1970-01-01 00:00:00.000000007 ┆ -                 ┆ -                 ┆ [{x: 7, y: 7}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C7783BD459406F3EB63FA3D ┆ 7             ┆ 1970-01-01 00:00:00.000000007 ┆ -                 ┆ -                 ┆ [{x: 8, y: 8}]          │ │
        │ └──────────────────────────────────┴───────────────┴───────────────────────────────┴───────────────────┴───────────────────┴─────────────────────────┘ │
        └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
        ┌────────────────────────────────────────────────────────────────────────────────────────────────────┐
        │ CHUNK METADATA:                                                                                    │
        │ * entity_path: "/this/that"                                                                        │
        │ * heap_size_bytes: "590"                                                                           │
        │ * id: "17FB33897C77BC43459406F3EB63FA3C"                                                           │
        │ * is_sorted: ""                                                                                    │
        ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
        │ ┌──────────────────────────────────┬───────────────┬───────────────────┬─────────────────────────┐ │
        │ │ RowId                            ┆ frame_nr      ┆ example.MyColor   ┆ example.MyPoint         │ │
        │ │ ---                              ┆ ---           ┆ ---               ┆ ---                     │ │
        │ │ type: "TUID"                     ┆ type: "i64"   ┆ type: "list[u32]" ┆ type: "list[struct[2]]" │ │
        │ │ kind: "control"                  ┆ is_sorted: "" ┆ kind: "data"      ┆ kind: "data"            │ │
        │ │                                  ┆ kind: "time"  ┆                   ┆                         │ │
        │ ╞══════════════════════════════════╪═══════════════╪═══════════════════╪═════════════════════════╡ │
        │ │ 17FB33897C77BB85459406F3EB63FA39 ┆ 2             ┆ -                 ┆ [{x: 1, y: 1}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C77BBCB459406F3EB63FA3A ┆ 3             ┆ [2]               ┆ [{x: 2, y: 2}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C77BBFD459406F3EB63FA3B ┆ 4             ┆ -                 ┆ [{x: 3, y: 3}]          │ │
        │ └──────────────────────────────────┴───────────────┴───────────────────┴─────────────────────────┘ │
        └────────────────────────────────────────────────────────────────────────────────────────────────────┘
        ┌────────────────────────────────────────────────────────────────────────────────┐
        │ CHUNK METADATA:                                                                │
        │ * entity_path: "/this/that"                                                    │
        │ * heap_size_bytes: "433"                                                       │
        │ * id: "17FB33897C783744459406F3EB63FA40"                                       │
        │ * is_sorted: ""                                                                │
        ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
        │ ┌──────────────────────────────────┬───────────────┬─────────────────────────┐ │
        │ │ RowId                            ┆ frame_nr      ┆ example.MyPoint         │ │
        │ │ ---                              ┆ ---           ┆ ---                     │ │
        │ │ type: "TUID"                     ┆ type: "i64"   ┆ type: "list[struct[2]]" │ │
        │ │ kind: "control"                  ┆ is_sorted: "" ┆ kind: "data"            │ │
        │ │                                  ┆ kind: "time"  ┆                         │ │
        │ ╞══════════════════════════════════╪═══════════════╪═════════════════════════╡ │
        │ │ 17FB33897C783690459406F3EB63FA3D ┆ 2             ┆ [{x: 1, y: 1}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C7836CC459406F3EB63FA3E ┆ 4             ┆ [{x: 3, y: 3}]          │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C7836F4459406F3EB63FA3F ┆ 6             ┆ [{x: 5, y: 5}]          │ │
        │ └──────────────────────────────────┴───────────────┴─────────────────────────┘ │
        └────────────────────────────────────────────────────────────────────────────────┘
        ┌──────────────────────────────────────────────────────────────────────────┐
        │ CHUNK METADATA:                                                          │
        │ * entity_path: "/this/that"                                              │
        │ * heap_size_bytes: "421"                                                 │
        │ * id: "17FB33897C78907C459406F3EB63FA44"                                 │
        │ * is_sorted: ""                                                          │
        ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
        │ ┌──────────────────────────────────┬───────────────┬───────────────────┐ │
        │ │ RowId                            ┆ frame_nr      ┆ example.MyColor   │ │
        │ │ ---                              ┆ ---           ┆ ---               │ │
        │ │ type: "TUID"                     ┆ type: "i64"   ┆ type: "list[u32]" │ │
        │ │ kind: "control"                  ┆ is_sorted: "" ┆ kind: "data"      │ │
        │ │                                  ┆ kind: "time"  ┆                   │ │
        │ ╞══════════════════════════════════╪═══════════════╪═══════════════════╡ │
        │ │ 17FB33897C788FD2459406F3EB63FA41 ┆ 4             ┆ [3]               │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C789004459406F3EB63FA42 ┆ 5             ┆ [4]               │ │
        │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
        │ │ 17FB33897C78904A459406F3EB63FA43 ┆ 7             ┆ [6]               │ │
        │ └──────────────────────────────────┴───────────────┴───────────────────┘ │
        └──────────────────────────────────────────────────────────────────────────┘
        ┌──────────────────────────────────────────────────────────┐
        │ CHUNK METADATA:                                          │
        │ * entity_path: "/this/that"                              │
        │ * heap_size_bytes: "170"                                 │
        │ * id: "17FB33897C790002459406F3EB63FA48"                 │
        │ * is_sorted: ""                                          │
        ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
        │ ┌──────────────────────────────────┬───────────────────┐ │
        │ │ RowId                            ┆ example.MyLabel   │ │
        │ │ ---                              ┆ ---               │ │
        │ │ type: "TUID"                     ┆ type: "list[str]" │ │
        │ │ kind: "control"                  ┆ kind: "data"      │ │
        │ ╞══════════════════════════════════╪═══════════════════╡ │
        │ │ 17FB33897C78FFC6459406F3EB63FA47 ┆ [c]               │ │
        │ └──────────────────────────────────┴───────────────────┘ │
        └──────────────────────────────────────────────────────────┘
    ]
}
QueryExpression2 {
    view_contents: None,
    filtered_index: Timeline {
        name: "frame_nr",
        typ: Sequence,
    },
    filtered_index_range: None,
    filtered_index_values: None,
    sampled_index_values: None,
    filtered_point_of_view: None,
    sparse_fill_strategy: None,
    selection: None,
}:
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ CHUNK METADATA:                                                                                                                                                                                            │
│                                                                                                                                                                                                            │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ ┌──────────────────────────────────┬─────────────┬───────────────────────────────┬───────────────────────────────────────┬───────────────────────────────────────┬───────────────────────────────────────┐ │
│ │ RowId                            ┆ frame_nr    ┆ log_time                      ┆ example.MyColor                       ┆ example.MyLabel                       ┆ example.MyPoint                       │ │
│ │ ---                              ┆ ---         ┆ ---                           ┆ ---                                   ┆ ---                                   ┆ ---                                   │ │
│ │ type: "struct[2]"                ┆ type: "i64" ┆ type: "timestamp(ns)"         ┆ type: "list[u32]"                     ┆ type: "list[str]"                     ┆ type: "list[struct[2]]"               │ │
│ │                                  ┆             ┆                               ┆ sorbet.path: "/this/that"             ┆ sorbet.is_static: "yes"               ┆ sorbet.path: "/this/that"             │ │
│ │                                  ┆             ┆                               ┆ sorbet.semantic_type:                 ┆ sorbet.path: "/this/that"             ┆ sorbet.semantic_type:                 │ │
│ │                                  ┆             ┆                               ┆ "example.MyColor"                     ┆ sorbet.semantic_type:                 ┆ "example.MyPoint"                     │ │
│ │                                  ┆             ┆                               ┆                                       ┆ "example.MyLabel"                     ┆                                       │ │
│ ╞══════════════════════════════════╪═════════════╪═══════════════════════════════╪═══════════════════════════════════════╪═══════════════════════════════════════╪═══════════════════════════════════════╡ │
│ │ 17FB33897C78FFC6459406F3EB63FA47 ┆ -           ┆ -                             ┆ -                                     ┆ [c]                                   ┆ -                                     │ │
│ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
│ │ 17FB33897C7783BD459406F3EB63FA38 ┆ 1           ┆ 1970-01-01 00:00:00.000000001 ┆ -                                     ┆ -                                     ┆ [{x: 0, y: 0}]                        │ │
│ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
│ │ 17FB33897C783690459406F3EB63FA3D ┆ 2           ┆ -                             ┆ -                                     ┆ -                                     ┆ [{x: 1, y: 1}]                        │ │
│ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
│ │ 17FB33897C77BBCB459406F3EB63FA3A ┆ 3           ┆ -                             ┆ [2]                                   ┆ -                                     ┆ [{x: 2, y: 2}]                        │ │
│ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
│ │ 17FB33897C788FD2459406F3EB63FA41 ┆ 4           ┆ -                             ┆ [3]                                   ┆ -                                     ┆ [{x: 3, y: 3}]                        │ │
│ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
│ │ 17FB33897C789004459406F3EB63FA42 ┆ 5           ┆ 1970-01-01 00:00:00.000000005 ┆ [4]                                   ┆ -                                     ┆ [{x: 4, y: 4}]                        │ │
│ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
│ │ 17FB33897C7836F4459406F3EB63FA3F ┆ 6           ┆ -                             ┆ -                                     ┆ -                                     ┆ [{x: 5, y: 5}]                        │ │
│ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │
│ │ 17FB33897C78904A459406F3EB63FA43 ┆ 7           ┆ 1970-01-01 00:00:00.000000007 ┆ [6]                                   ┆ -                                     ┆ [{x: 8, y: 8}]                        │ │
│ └──────────────────────────────────┴─────────────┴───────────────────────────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

(That is in fact the tool I use to hunt down all these bugs.)

@teh-cmc
Copy link
Member Author

teh-cmc commented Oct 4, 2024

But maybe that should be kept for end-to-end tests in Python?

Also this, yes.

These tests are meant to put stress on the corner cases of the spec, not to help end users' grasp the semantics of the API.
For that, higher level examples using a far simpler dataset would fare much, much better.

@abey79
Copy link
Member

abey79 commented Oct 4, 2024

If you need a better semantic understanding of what these tests do, you can execute them with --show-output: all of them print the state of the store, the query being used and the results returned using the usual chunk table syntax:

cargo t -p re_dataframe2 -- --show-output barebones

Oh, great. I missed that. (Maybe worth dropping a note about that in the PR and/or test for folks like me?)

@teh-cmc
Copy link
Member Author

teh-cmc commented Oct 4, 2024

Maybe worth dropping a note about that in the PR and/or test for folks like me?

👍

@abey79
Copy link
Member

abey79 commented Oct 4, 2024

Random thought: would be kind of cool to have an option to spawn a viewer loaded with the test data, so the data browser could be used too.

@teh-cmc
Copy link
Member Author

teh-cmc commented Oct 4, 2024

Random thought: would be kind of cool to have an option to spawn a viewer loaded with the test data, so the data browser could be used too.

That one I'll leave up to you 😅

Comment on lines +763 to +773
// TODO(cmc): at least one basic test for every feature in `QueryExpression2`.
// In no particular order:
// * [x] filtered_index
// * [x] filtered_index_range
// * [x] view_contents
// * [x] selection
// * [ ] filtered_index_values
// * [ ] sampled_index_values
// * [ ] filtered_point_of_view
// * [ ] sparse_fill_strategy

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One area that we might need to semantically define and test is around timeline column. When does a given timeline show up in the result (assuming selection = None)?

  1. If the timeline exists at all in the store?
  2. If anything at all is logged on it in the context of the view content?
  3. If it is not empty in the query results?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I'll add this to the list.

Copy link
Member

@abey79 abey79 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've mainly looked at the tests, and didn't spot anything outside of what we've discussed 👍🏻

crates/store/re_dataframe2/src/query.rs Outdated Show resolved Hide resolved
@teh-cmc teh-cmc merged commit d8310c6 into main Oct 4, 2024
33 checks passed
@teh-cmc teh-cmc deleted the cmc/dataframev2_tests branch October 4, 2024 10:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🪳 bug Something isn't working exclude from changelog PRs with this won't show up in CHANGELOG.md 🔍 re_query affects re_query itself 🔨 testing testing and benchmarks
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants