Skip to content

Conversation

@NamanMahor
Copy link
Contributor

@NamanMahor NamanMahor commented Jan 16, 2026

PLAT-265: Support file size info reading

Checklist:

  • Covered by tests
  • Ran it and it works as intended
  • Reviewed the diff before requesting a review
  • Checked for unhandled edge cases
  • Linked the issues it closes
  • Checked if the docs need to be updated. If so, create a separate Linear DOCS issue
  • Intend to cherry-pick into the release branch
  • I'm proud of this work!

@NamanMahor NamanMahor marked this pull request as draft January 16, 2026 18:29
@NamanMahor NamanMahor marked this pull request as ready for review January 23, 2026 08:57
Comment on lines +67 to +71
// Lists objects within a folder-like level (using path prefix and delimiter).
string path = 4;
string delimiter = 5;
uint32 page_size = 6 [(validate.rules).uint32 = {ignore_empty: true, lte: 100}];
string page_token = 7;
// Lists objects matching the glob pattern.
string glob = 6;
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
// Lists objects within a folder-like level (using path prefix and delimiter).
string path = 4;
string delimiter = 5;
uint32 page_size = 6 [(validate.rules).uint32 = {ignore_empty: true, lte: 100}];
string page_token = 7;
// Lists objects matching the glob pattern.
string glob = 6;
// Lists objects within a folder-like level (using path prefix and delimiter). Cannot be used if `glob` is passed.
string path = 4;
string delimiter = 5;
// Lists objects matching the glob pattern. Cannot be used if `path` or `delimiter` is passed.
string glob = 6;

Comment on lines +76 to +80
entries, err := pagination.CollectAll(ctx,
func(ctx context.Context, pz uint32, tk string) ([]drivers.ObjectStoreEntry, string, error) {
return b.ListObjectsForGlob(ctx, opts.Glob, pz, tk)
},
1000)
Copy link
Contributor

Choose a reason for hiding this comment

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

Does this add new network overhead?

I'm wondering if it would be better to still also support full listings in ListObjectsForGlob (e.g. pageSize == 0 could mean return all).

Comment on lines +86 to +102
// Handle GCS
var q *storage.Query
if as(&q) {
// Only fetch the fields we need.
_ = q.SetAttrSelection([]string{"Name", "Size", "Created", "Updated"})
if startAfter != "" {
q.StartOffset = startAfter
}
}
// Handle S3
var s3Input *s3.ListObjectsV2Input
if as(&s3Input) {
if startAfter != "" {
s3Input.StartAfter = aws.String(startAfter)
}
}
return nil
Copy link
Contributor

Choose a reason for hiding this comment

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

What about Azure?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants