I’m thinking about creation of database-function dictionary.
It should contain structured registry of native functions of all database families.
It should have many-to-one architecture.
Main aim of this functionality is to translate native functions of one database-type to native functions of another database-type, if it possible.
for example:
function that returns current date-time value in Oracle database will called as:
- CURRENT_TIMESTAMP()
My solution is to equip liquibase with universal entity for every such function and reg it in one catalog.
If our database have a synonym of function - liquibase should use implementation of it and do replace it by this synonym.
After that this registry will be filled by developers, when they will mess with some new functions.
If i need implementation of function - then exactly me should add and configure it.
After this refactoring it will possible to find and replace all locally-used functions by using one universal interface.
What’s your thinking about it?