In certain circumstances, generally in very sophisticated database setups for Production, Test and Development data servers and databases, you may have a need to override a table or tables on a single connection only.
ConnectionOverrides { replacement libraries:<comma separated schema=replacement pairs>; } can be included on the end of the JDBC properties string and it will be stripped out and stored as an attribute on the connection row (and transferred to the DBSystem object for use later).
As an example, lets say we have the following:
Server: WOWDBDEV01
Databases:
NetTrace
NetTraceStackDefs
Note: this is a copy of a StackDefs database (#3 below) from a different DB
StackDefs
Connections:
NT - connects to NetTrace database with nettrace user who has permission to read from databases 1 & 2
SD - connects to StackDefs database with stack user who has permission to read from database 3
This causes issues when any queries using the NT connection where the SQL is joining NetTrace with StackDefs (from the DB where it originally was). There was a need to set up replacement libraries so StackDefs=NetTraceStackDefs.
The problem with this is that we have another application that contains other operations that use the SD connection that should not have StackDefs replaced. The solution was to provide the ConnectionOverrides property group that will allow the developer to define replacement library overrides for the single connection only.
fig1. Note the ConnectionOverrides{ } property group in properties.