Attaching derby-4484-01-ac-basicExportImport.diff. This adds basic support for exporting and importing UDT columns. UDTs can be exported and imported alongside other columns to/from a file. Regression tests are running.
This patch does NOT support dumping and retrieving UDT columns to/from a side file devoted to large objects--as can be done for LOBs and large binary columns. But that would be a useful next improvement.
In exporting a UDT column, it is serialized first to a byte array. Then that array is turned into a hex string just like a VARBINARY column. Importing the UDT reverses this process.
Touches the following files:
Type system support for UDTs was improved to make it possible to create a UDT descriptor from the schema qualified name of the type. The Import VTI needs this. Along the way, the ValueNode was improved to bind a classname to these UDT descriptors.
Changes to export and import to allow UDT columns in exported files. The import machinery is a little tricky because it relies on a VTI, whose metadata descriptions had to be improved.
The ImportExportTest uncovered some flaws in CREATE TABLE AS which prevented us from creating a table's shape from a query if one of the result columns was of UDT type. Fixed in this patch.
Regression tests for basic export/import of UDT columns.