Oracle Rdb has supported multiple segment LIST OF BYTE VARYING
data types for user-defined data. However in previous versions,
Oracle Rdb maintained its own LIST OF BYTE VARYING metadata
columns as single segments. This restricted the length to
approximately 65530 bytes. An SQL CREATE TRIGGER or CREATE MODULE
statement could fail due to this restriction.
This limit was lifted by changing the way Oracle Rdb stores its
own metadata.
o For columns containing binary data, such as the binary
representation of query, routine, constraint, trigger action,
computed by column, or query outline, Oracle Rdb breaks the
data into pieces that best fit the system storage area page
size. Thus, the segments are all the same size with a possible
small trailing segment.
The LIST OF BYTE VARYING column value is no longer fragmented,
improving performance when reading system metadata.
o For columns containing text data such as the SQL source
(for elements such as triggers and views) and user-supplied
comment strings, Oracle Rdb breaks the text at line boundaries
(indicated by ASCII carriage returns and line feeds) and
stores the text without the line separator. Thus, the segments
are of varying size with a possible zero length for blank
lines.
An application can now easily display the LIST OF BYTE VARYING
column value and the application no longer needs to break up
the single text segment for printing.
No change is made to the LIST OF BYTE VARYING column values
when a database is converted (using the RMU Convert command, RMU
Restore command, or SQL EXPORT/IMPORT statements) from a previous
version.
Applications that read the Oracle Rdb system LIST OF BYTE VARYING
column values must be changed to understand multiple segments.
Applications that do not read these system column values should
see no change to previous behavior. Tools such as the RMU Extract
command and the SQL SHOW and EXPORT statements handle both the
old and new formats of the system metadata.