enso/test
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
..
Benchmarks Detect conflicts between exported types and FQNs (#5986) 2023-03-21 21:09:41 +00:00
Examples_Tests Proper implementation of Value Types in Table (#6073) 2023-03-31 16:16:18 +00:00
Geo_Tests All Enso objects are hasheable (#3878) 2023-01-19 10:33:25 +01:00
Google_Api_Test Parse the standard library (#3830) 2022-10-31 16:19:12 +00:00
Image_Tests Detect conflicts between exported types and FQNs (#5986) 2023-03-21 21:09:41 +00:00
Meta_Test_Suite_Tests Detect conflicts between exported types and FQNs (#5986) 2023-03-21 21:09:41 +00:00
micro-distribution Tidy up the public module level statics (#6032) 2023-03-22 18:02:37 +00:00
Table_Tests Proper implementation of Value Types in Table (#6073) 2023-03-31 16:16:18 +00:00
Tests Proper implementation of Value Types in Table (#6073) 2023-03-31 16:16:18 +00:00
Visualization_Tests Proper implementation of Value Types in Table (#6073) 2023-03-31 16:16:18 +00:00