enso/distribution/lib/Standard
Radosław Waśko 6f86115498
Proper implementation of Value Types in Table (#6073)
This is the first part of the #5158 umbrella task. It closes #5158, follow-up tasks are listed as a comment in the issue.

- Updates all prototype methods dealing with `Value_Type` with a proper implementation.
- Adds a more precise mapping from in-memory storage to `Value_Type`.
- Adds a dialect-dependent mapping between `SQL_Type` and `Value_Type`.
- Removes obsolete methods and constants on `SQL_Type` that were not portable.
- Ensures that in the Database backend, operation results are computed based on what the Database is meaning to return (by asking the Database about expected types of each operation).
- But also ensures that the result types are sane.
- While SQLite does not officially support a BOOLEAN affinity, we add a set of type overrides to our operations to ensure that Boolean operations will return Boolean values and will not be changed to integers as SQLite would suggest.
- Some methods in SQLite fallback to a NUMERIC affinity unnecessarily, so stuff like `max(text, text)` will keep the `text` type instead of falling back to numeric as SQLite would suggest.
- Adds ability to use custom fetch / builder logic for various types, so that we can support vendor specific types (for example, Postgres dates).

# Important Notes
- There are some TODOs left in the code. I'm still aligning follow-up tasks - once done I will try to add references to relevant tasks in them.
2023-03-31 16:16:18 +00:00
..
Base/0.0.0-dev Proper implementation of Value Types in Table (#6073) 2023-03-31 16:16:18 +00:00
Database/0.0.0-dev Proper implementation of Value Types in Table (#6073) 2023-03-31 16:16:18 +00:00
Examples/0.0.0-dev Detect conflicts between exported types and FQNs (#5986) 2023-03-21 21:09:41 +00:00
Geo/0.0.0-dev Fix up some type signatures... (#5979) 2023-03-17 11:53:23 +00:00
Google_Api/0.0.0-dev New documentation parser (#5917) 2023-03-15 15:43:51 +00:00
Image/0.0.0-dev Use new Enso Hash Codes and Comparable (#6060) 2023-03-24 15:02:25 +00:00
Searcher/0.0.0-dev Detect conflicts between exported types and FQNs (#5986) 2023-03-21 21:09:41 +00:00
Table/0.0.0-dev Proper implementation of Value Types in Table (#6073) 2023-03-31 16:16:18 +00:00
Test/0.0.0-dev Proper implementation of Value Types in Table (#6073) 2023-03-31 16:16:18 +00:00
Visualization/0.0.0-dev Proper implementation of Value Types in Table (#6073) 2023-03-31 16:16:18 +00:00