While working on DERBY-925 and DERBY-969, I need to get information about the types of the procedure/function parameters. Specifically I need to fill the COLUMN_DEF (Default value for the parameter, if any) and CHAR_OCTET_LENGTH (Byte length of char/binary types, NULL for other types) columns.
So given type T, how do I 1) Find out if T is character or binary? 2) What the maximum length of T is, if char/binary? 3) If T has a default value? 4) If T's default value is NULL? 5) If T's value cannot be represented without truncation? >From what I can see, Derby has a number of classes/interfaces that provides information about types: org.apache.derby.catalog.TypeDescriptor (interface) org.apache.derby.catalog.TypeDescriptorImpl (impl) org.apache.derby.catalog.DataTypeDescriptor (impl) - getMaximumWidth - getMaximumWidthInBytes - getPrecision - getScale - isNullable org.apache.derby.iapi.types.DataTypeUtilities - getColumnDisplaySize - getDigitPrecision - getPrecision - isNullable org.apache.derby.iapi.types.TypeId - getApproximateLengthInBytes - getMaximumMaximumWidth (sic) - getMaximumPrecision - getMaximumScale - isBlobTypeId - isClobTypeId - isLobTypeId - isNumericTypeId So how can/should I use this to get the information I need? If I need to add information, where do I add it? Thanks, -- dt
