mirror of
https://github.com/enso-org/enso.git
synced 2024-12-18 11:41:38 +03:00
6f86115498
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. |
||
---|---|---|
.. | ||
src | ||
Cargo.toml |