-
Notifications
You must be signed in to change notification settings - Fork 609
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
refactor(api): make input value coercion of mutate()
identical to select()
#8878
Conversation
mutate()
identical to select()
I am actually not a big fan of |
d652e3c
to
0e2cef3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense. Still a good chunk of failures though.
e9596c0
to
ace7011
Compare
…ect() String and integer literals passed to select() are interpreted as columns whereas mutate() interpreted them as literals. BREAKING CHANGE: string and integer literals passed to table.mutate() are now interpreted as column references
ace7011
to
cc2e34d
Compare
I'd agree with this and would propose we deprecate (or just remove) ints as column references everywhere except when directly indexing a table (e.g. I do think that treating everything passed to |
+1 to removing the int-as-column references in We have |
Now both are consistent. My preference is to remove both, but I am afraid that this would be too big of a breaking change. Though we actually break it now, and provide a config option to fall back to the previous behavior. |
IMO we'll still want to support strings as column references. |
Ok, I think we have an agreement on removing the |
We need to document this as part of this PR or the next one, because it seems pretty non trivial to articulate what the rules are especially around strings. What exactly is the behavior of each of |
Created a follow-up issue for the documentation #8879 |
updating to conform to ibis-project/ibis#8878
String and integer literals passed to select() are interpreted as columns whereas mutate() interpreted them as literals.
BREAKING CHANGE: strings passed to table.mutate() are now interpreted as column references instead of literals, use
ibis.literal(string)
to pass the string as a literal