Details
-
Task
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
The compatibility parser for sql_mode=ORACLE takes around 4% of the overall server binary size (stripped):
30390128 mariadbd
|
1226712 sql_yacc_ora.cc.o
|
sql_mode=ORACLE is an optional server feature, not needed by the user majority.
Let's implement MariaDB_PARSER_PLUGIN, so compatibility parsers can be compiled as loadable plugins.
When we have parser plugins, we can futher define the entire compatibility mode as a set of plugins:
- MariaDB_PARSER_PLUGIN - one parser plugin per compatibility sql_mode
- MariaDB_DATA_TYPE_PLUGIN - zero or more data type plugins per compatibility sql_mode
- MariaDB_FUNCTION_PLUGIN - zero or more function plugins per compatibility sql_mode
Turning sql_mode=ORACLE into a set of plugins will be done under terms of a separate task. This task is only about adding parser plugins.