DataTypeDescriptor should be immutable so that multiple ValueNode referring to 
the same DTD do not have unexpected state changes.
---------------------------------------------------------------------------------------------------------------------------------

                 Key: DERBY-2775
                 URL: https://issues.apache.org/jira/browse/DERBY-2775
             Project: Derby
          Issue Type: Bug
          Components: Services, SQL
            Reporter: Daniel John Debrunner
            Priority: Minor
             Fix For: 10.3.0.0


I think that modifying a DTD to change its collation may be pushing the 
envelope of "bug-free" code. If several ValueNode's all refer to a single DTD 
then changing the collation of one changes all of them. This is probably not 
what is required. The setCollation() pattern did copy the existing 
setNullablity() pattern which I think is probably also wrong and subject to 
bugs.
Changing DTD to be (logically) immutable would be a much better solution, e.g. 
DTD.setNullability() returns a new DTD with the nullability set correctly, 
leaving the old one unmodified. (The method should also have a name change, 
setXXX() is wrong since it is not setting the state of the object it is called 
on). (Also such a method can return the same object if the state is unchanged). 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to