-
Notifications
You must be signed in to change notification settings - Fork 323
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
Introduce a Value_Type.Null
.
#6281
Comments
I'm not absolutely certain if we need this. If we want to keep the current behavior and accept the errors on Null in these cases, we can close this issue. But I think ideally, we should at some point make sure that expressions and raw column operations are more consistent. So I'd be for implementing this, but probably with a lower priority. cc: @jdunkerley what do you think about this? I'd love to hear your opinion. |
Yes we should have a |
|
Radosław Waśko reports a new STANDUP for yesterday (2024-11-19): Progress: Checking a copy_to bug. Created a PR updating to Cloud API changes. Started work on Value_Type.Null - added the new type and updating related functions. WIP. It should be finished by 2024-11-27. Next Day: Next day I will be working on the same task. Meetings, continue Value_Type.Null. |
Radosław Waśko reports a new STANDUP for yesterday (2024-11-20): Progress: London meetup. Put up a PR removing stack traces for expected exceptions in the HTTP tests that were confusing in CI logs. It should be finished by 2024-11-27. Next Day: Next day I will be working on the same task. Meetings, continue Value_Type.Null. |
Radosław Waśko reports a new STANDUP for yesterday (2024-11-21): Progress: London meetup. It should be finished by 2024-11-27. Next Day: Next day I will be working on the same task. Meetings, continue Value_Type.Null. |
Radosław Waśko reports a new STANDUP for the provided date (2024-11-22): Progress: London meetup. It should be finished by 2024-11-27. Next Day: Next day I will be working on the same task. Continue Value_Type.Null. |
Radosław Waśko reports a new STANDUP for yesterday (2024-12-02): Progress: Catching up advent of code. Finishing implementation of Value_Type.Null. Almost all tests passing. Adding more edge cases for read many, discussing and implementing them. Investigating fix for Data.list failure on Enso Cloud files, added unit tests. It should be finished by 2024-12-03. Next Day: Next day I will be working on the same task. Finish Value_Type.Null, start next tasks. |
Radosław Waśko reports a new STANDUP for yesterday (2024-12-03): Progress: Fixing remaining test failures in Null Value Type. Prepared a PR. It should be finished by 2024-12-04. Next Day: Next day I will be working on the #11747 task. Fix remaining tests. Start work on Data.list through datalinks. |
Radosław Waśko reports a new STANDUP for yesterday (2024-12-04): Progress: Fixing remaining tests, started work on Data.list through datalinks - clarifying spec, tests. It should be finished by 2024-12-04. Next Day: Next day I will be working on the #11747 task. Continue work on Data.list / symlinks |
This is orthogonal to #5872.
Initially, I thought we can live without
Value_Type.Null
. Each of columns coming from the DB has some proper type.However, there are cases where this becomes problematic.
When I do
Table.new [["X", [Nothing]]]
- what typeX
should have? I guess for in-memory it's ok if it's mixed by default and we can cast it to any nullable type we want, and all will work OK.However, there is the case of creating 'pure NULL' column in Expressions, both in-memory and in-DB.
Currently the behaviour is as follows:
So any expression on nulls fails with Invalid Value Type, that's because the value is
Mixed
(in-memory) orUnsupported_Data_Type "NULL"
(in-DB, at least in Postgres, I'm not even checking SQLite 🤕).I'm not sure if that behaviour is right. It feels that if
t.at "X" + Nothing
works OK (ifX
is itself a numeric column), probably[X] + Nothing
but alsoNothing + [X]
should work too.The sane way to make it work that comes to my mind is only by adding a
Value_Type.Null
which these all-null columns can take. Such a special type can then be accepted by anyValue_Type.expect_*
operation, making these operations work.Null
type. It should not be mapped to-from SQL by default, I think.expect_*
functions also accept theNull
type.is_*
answer True to it too? Figure out, initial thought is that probably not.Aggregate_Column_Spec.enso
.The text was updated successfully, but these errors were encountered: