Skip to content

feature: The Tianmu engine supports user defined function #538

@adofsauron

Description

@adofsauron

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:

  1. The result should be consistent with the result of InnoDB calling custom function to ensure the correctness of the result
  2. 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

  1. Compatible with mysql custom function scalar usage

  2. 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

Metadata

Metadata

Assignees

Labels

A-featurefeature with good idea

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions