Ignoring the "compiler" aspect for the moment there are two components to a DataTypeDescriptor, the underlying SQL type (INTEGER, CHAR, VARCHAR, XML etc.) represented as TypeId and attributes of the descriptor (nullablity, length, precision, scale and now collation).

Thus

Some functionality is applicable to a type regardless of a specific DTD's attributes, thus methods for that functionality can be declared on TypeId instead of DTD.

Some functionality on the other hand needs the attribute information as well, say the display length of a type is a function of its length/precision&scale and its underlying SQL type.

The collation changes have moved the comparable check from being only reliant on the SQL type (TypeId) to being dependent on the type's attributes (collation type and implicit/explicit). Thus the original location for the comparable method made sense, but now does not.

See the JavaDoc for more information.

DataTypeDescriptor (last edited 2009-09-20 22:12:24 by localhost)