I am searching for best practices for supporting multiple versions of procedures/functions. For example, I have a procedure that generates complicated json output with oracle apex packages, which is used by application to draw some front-end.
And now there is a need to return different output structures keeping the same entrypoint.
I see couple options:
- include version parameter and route between code versions with if statements - that will make code messy
- include version parameter and create multiple versions of procedure inside package - code duplications with known consequences
- include version parameter and create multiple versions packages - even more duplications
I've checked some Oracle mechanisms, the only thing I found was Edition-based redefinition (EBR), but that don't suits me.