Skip to content

Commit

Permalink
gRPC spec update: Add support for selecting specific columns while li…
Browse files Browse the repository at this point in the history
…sting recordings metadata (#8049)

Providing a selection of columns is optional, but if provided, it's
expected that the remote store will only project and return those
columns.
  • Loading branch information
zehiko authored Nov 11, 2024
1 parent ed110b7 commit 31a166f
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 4 deletions.
11 changes: 10 additions & 1 deletion crates/store/re_protos/proto/rerun/v0/remote_store.proto
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,16 @@ enum EncoderVersion {

// ----------------- ListRecordings -----------------

message ListRecordingsRequest {}
message ListRecordingsRequest {
// define which columns should be returned / projected
// we define a separate message to make it optional.
// If not provided, all columns should be returned
ColumnProjection column_projection = 1;
}

message ColumnProjection {
repeated string columns = 1;
}

message ListRecordingsResponse {
repeated RecordingMetadata recordings = 1;
Expand Down
15 changes: 13 additions & 2 deletions crates/store/re_protos/src/v0/rerun.remote_store.v0.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion rerun_py/src/remote.rs
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,9 @@ impl PyConnection {
/// List all recordings registered with the node.
fn list_recordings(&mut self) -> PyResult<Vec<PyRecordingMetadata>> {
self.runtime.block_on(async {
let request = ListRecordingsRequest {};
let request = ListRecordingsRequest {
column_projection: None,
};

let resp = self
.client
Expand Down

0 comments on commit 31a166f

Please sign in to comment.