Abstract:
The current column storage engine does not support custom functions. Previously, it used the Mysql/SQL layer to parse custom functions. But this led to a series of data errors.
This enables formal column storage engine-based support for custom functions.
This paper analyzes its requirements.
Functional Requirements:
- The result should be consistent with the result of InnoDB calling custom function to ensure the correctness of the result
- Do not use callback to the SQL layer to parse
The callback to the SQL layer will result in the coupling between the engine layer and the SQL layer, and the logical flow cannot be clearly understood
If the engine layer and SQL layer are tightly coupled, it is difficult to upgrade the mysql version
Each upgrade requires writing a call to the engine layer based on the implementation of the new mysql SQL layer
Each time, the call to the engine is rewritten, increasing the workload and increasing the time it takes to test the code
Custom functions only support mysql scalar data, not array or composite data types
-
Compatible with mysql custom function scalar usage
-
The return value of the function does not support json type and array compound type
Performance requirements:
1. the time required to call custom functions
Not planned, not considered
2. Upper limit of memory usage
Not planned, not considered
3. Upper limits on CPU usage
Not planned, not considered
Abstract:
The current column storage engine does not support custom functions. Previously, it used the Mysql/SQL layer to parse custom functions. But this led to a series of data errors.
This enables formal column storage engine-based support for custom functions.
This paper analyzes its requirements.
Functional Requirements:
The callback to the SQL layer will result in the coupling between the engine layer and the SQL layer, and the logical flow cannot be clearly understood
If the engine layer and SQL layer are tightly coupled, it is difficult to upgrade the mysql version
Each upgrade requires writing a call to the engine layer based on the implementation of the new mysql SQL layer
Each time, the call to the engine is rewritten, increasing the workload and increasing the time it takes to test the code
Custom functions only support mysql scalar data, not array or composite data types
Compatible with mysql custom function scalar usage
The return value of the function does not support json type and array compound type
Performance requirements:
1. the time required to call custom functions
Not planned, not considered
2. Upper limit of memory usage
Not planned, not considered
3. Upper limits on CPU usage
Not planned, not considered