Skip to content
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

Implement Column Intersection Type (part 1) #12095

Closed
jdunkerley opened this issue Jan 21, 2025 · 2 comments · Fixed by #12120
Closed

Implement Column Intersection Type (part 1) #12095

jdunkerley opened this issue Jan 21, 2025 · 2 comments · Fixed by #12120
Assignees
Labels
-libs Libraries: New libraries to be implemented

Comments

@jdunkerley
Copy link
Member

jdunkerley commented Jan 21, 2025

A Column can be it's single value if and only if it is a single row column.

  • Based on the value_type and length
  • Should also check that single value is Not Nothing.
  • Want Column.from_java_column to return the Intersected type.

e.g. Single Row Int64 Column should be: Column & Integer

Needs to attach the conversion logic so x:Integer works if and only if as above.
Should do this for Integer, Float, Decimal, Text, Date, Date_Time, Time_Of_Day.

To test the following:

  • All column functions still work.
  • Table functions all work unchanged
  • Convertible to its value type explicitly, and then able to call the functions and get correct result.
  • Want to test calling functions taking the value type without conversion, with the auto convert should step in,
x val:Integer = ...

y = Column.from_vector "Test" [1]
z = x y

If the last one is a problem, we should discuss what to do. Could be that the GUI adds the extra conversion.
The user shouldn't need to know about it.

@jdunkerley jdunkerley converted this from a draft issue Jan 21, 2025
@jdunkerley jdunkerley added the -libs Libraries: New libraries to be implemented label Jan 21, 2025
@radeusgd radeusgd moved this from 📤 Backlog to 🔧 Implementation in Issues Board Jan 22, 2025
@enso-bot
Copy link

enso-bot bot commented Jan 24, 2025

Radosław Waśko reports a new STANDUP for yesterday (2025-01-23):

Progress: Working on intersection type PR, trying to figure out the semantics and what is the desired approach and why it doesn't work. It should be finished by 2025-01-28.

Next Day: Next day I will be working on the same task. Continue.

@radeusgd radeusgd moved this from 🔧 Implementation to 👁️ Code review in Issues Board Jan 24, 2025
@enso-bot
Copy link

enso-bot bot commented Jan 27, 2025

Radosław Waśko reports a new STANDUP for the provided date (2025-01-24):

Progress: Adding many tests for intersection types semantics, created some tickets. It should be finished by 2025-01-28.

Next Day: Next day I will be working on the #12137 task. Get the first PR merged, work on single-column Table.

@mergify mergify bot closed this as completed in #12120 Jan 27, 2025
@mergify mergify bot closed this as completed in a47ed0f Jan 27, 2025
@github-project-automation github-project-automation bot moved this from 👁️ Code review to 🟢 Accepted in Issues Board Jan 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-libs Libraries: New libraries to be implemented
Projects
Status: 🟢 Accepted
Development

Successfully merging a pull request may close this issue.

2 participants