If we take a look at DSTable.scriptCREATEFULL(), we would notice
1) the code is duplicated
2) it's nearly impossible to add a (protected) method for generating a CREATE script for comparison. We need a protected method here because I don't want to expose script-for-comparison functionality to the user. A simple scriptCREATE can't be used here because it will likely insert schema/database names into the resulting script.
3) it's nearly impossible to allow fine control over script generation, both normal via scriptCREATE and in comparison.
One solution would be to introduce an AQSchemaObject.scriptCREATE(AQScriptOptions). This way the options object may have any number of settings which provide fine control over the script generation, having also added benefit of removing scriptCREATEFULL.
I've left scriptCREATEFULL methods in AQIndex and AQTable.
Added AQServerConnection.newScriptOptions()
added AQServerObject.scriptCREATE(AQScriptOptions) to all server/schema objects.
Issue #4306 |
Closed |
Fixed |
Resolved |
Completion |
No due date |
No fixed build |
No time estimate |
I've left scriptCREATEFULL methods in AQIndex and AQTable.
Added AQServerConnection.newScriptOptions()
added AQServerObject.scriptCREATE(AQScriptOptions) to all server/schema objects.