Skip to content

Conversation

@geoffreyclaude
Copy link
Collaborator

Which issue does this PR close?

  • Closes #.

Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

@geoffreyclaude geoffreyclaude force-pushed the branch-50 branch 2 times, most recently from 5d27f34 to 0064a28 Compare September 15, 2025 07:02
@geoffreyclaude geoffreyclaude marked this pull request as ready for review September 16, 2025 13:10
@geoffreyclaude geoffreyclaude merged commit e064a7d into main Sep 16, 2025
4 checks passed

[dependencies]
comfy-table = { version = "7.1.4" }
comfy-table = { version = "7.2.0" }

Choose a reason for hiding this comment

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

Hello @geoffreyclaude
While updating this package to v50,

I got,

    Updating crates.io index
    Updating git repository `https://github.com/delta-io/delta-rs.git`
error: failed to select a version for `comfy-table`.
    ... required by package `delta_kernel v0.15.2`
    ... which satisfies dependency `delta_kernel = "^0.15.2"` of package `deltalake v0.29.0 (https://github.com/delta-io/delta-rs.git?rev=19f19db3b521c350f9b7056e45b6a2be8fa13f80#19f19db3)`
    ... which satisfies git dependency `deltalake` of package `trace-query-engine v0.1.0 (/Users/foo/work/trace-query-engine)`
versions that meet the requirements `~7.1` are: 7.1.4, 7.1.3, 7.1.2, 7.1.1, 7.1.0

all possible versions conflict with previously selected packages.

  previously selected package `comfy-table v7.2.0`
    ... which satisfies dependency `comfy-table = "^7.2.0"` of package `datafusion-tracing v50.0.0`
    ... which satisfies dependency `datafusion-tracing = "^50.0.0"` of package `trace-query-engine v0.1.0 (/Users/foo/work/trace-query-engine)`

On the arrow side, I found apache/arrow-rs#8244.
https://github.com/delta-io/delta-kernel-rs/blob/c1c301bf30f433b94c92b5972c1a0966b6f840be/kernel/Cargo.toml#L67

Should this be kept at ~7.1 for now?

Copy link
Collaborator Author

@geoffreyclaude geoffreyclaude Sep 22, 2025

Choose a reason for hiding this comment

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

Hi @debajyoti-truefoundry,
Thanks for reporting this! You're right, it should be 7.1. I'll patch it and release a new version right away.

EDIT: version 50.0.1 released if you want to retry.

Choose a reason for hiding this comment

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

comfy-table version 7.1 doesn't support the set_truncation_indicator method being used here, build is failing with

   Compiling datafusion-tracing v50.0.1
error[E0599]: no method named `set_truncation_indicator` found for mutable reference `&mut comfy_table::Table` in the current scope
   --> /Users/gauravwaghmare/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/datafusion-tracing-50.0.1/src/preview_utils.rs:108:10
    |
104 | /     table
105 | |         .force_no_tty()
106 | |         .load_preset(table_preset)
107 | |         .set_content_arrangement(ContentArrangement::Dynamic)
108 | |         .set_truncation_indicator("…")
    | |         -^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut comfy_table::Table`
    | |_________|
    |

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

So I don't mess this up a third time, it should be exactly comfy-table = { version = "~7.1" }? Or comfy-table = { version = "7.1.2" }?
How can I also update the unit tests so they will catch this type of mistake?
I'll need to carefully read through the Rust versioning docs, as I clearly don't get it!

Choose a reason for hiding this comment

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

So I don't mess this up a third time, it should be exactly comfy-table = { version = "~7.1" }? Or comfy-table = { version = "7.1.2" }? How can I also update the unit tests so they will catch this type of mistake? I'll need to carefully read through the Rust versioning docs, as I clearly don't get it!

comfy-table = { version = "=7.1.2" }

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Thanks, I'll disable the truncation_indicator until HEAD Arrow removes the pin. Seems like pinning to =7.1.2 was a mistake when ~7.1 would have sufficed...

apache/arrow-rs#8244 (comment)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

From tests I did locally, comfy-table = { version = "7.1" } (which means that versions 7.1.0, 7.1.1, ..., up to 7.2.1 are compatible), without the set_truncation_indicator("…"), work, both with arrow = { version = "=56.1" } and arrow = { version = "=56.2" }.
I want to avoid pinning comfy-table if possible. So version 50.0.2 coming up...

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Merged #20 and published version 50.0.2...

@Omega359
Copy link

Note that this fix doesn't quite work as there is a change in comfy-table that uses an api in 7.1.4 whereas the arrow-rs pin is for =7.1.2 (apache/arrow-rs@667f0c9)

This is the problematic line:

.set_truncation_indicator("…")

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.

5 participants