-
Notifications
You must be signed in to change notification settings - Fork 67
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
Choose an official Display format for ColumnName #444
Comments
3rd approach lgtm! and also wondering if we could rely on |
Do column names actually need to implement Also, if we think engines will want a way to go in and out of string representations, why not have a This might be over-complicating something that could be easy though, so I'm also okay for now to just go with option 3. |
We need something because Expression implements Display. It could be implemented in terms of |
AFAIK |
I think we'll find that ~every engine has a slightly different quirky approach to parsing column names... really not in kernel's charter to tackle that. I was more thinking about something from "default engine" perspective -- we can provide a sensible default for engines that want it, which happens to also be useful internally for printing out column names and expressions that involve them. It's also a potential way to send column names across the FFI boundary: kernel defines the parsing spec we understand, and engine is responsible to provide column names in that format. Requires memory allocation and parsing tho (so not my preferred approach). |
Update: Some Delta table properties include column names, emitted in delta-spark format (backticks as escape character). So we're forced do do that unless we want to support two display/parsing styles, and #445 did it. |
Please describe why this is necessary.
Today, column names have no "official" string representation. We probably need to choose one.
Describe the functionality you are proposing.
Possible choices include:
Debug
form,"[\"a\", \"b\", \"c\"]"
"a.b.c"
'.'
or engine-specific escape characters that might "mask" a dot)."a.[b.c].d"
or"a.\"b.c\".d"
I personally favor the third approach, using square brackets as the field escape character. Rationale:
"a.\""\"b\"\"\".c"
.Additional context
No response
The text was updated successfully, but these errors were encountered: