DataDictionaryImpl.getSystemSQLName() may generate duplicates
-------------------------------------------------------------

                 Key: DERBY-2591
                 URL: https://issues.apache.org/jira/browse/DERBY-2591
             Project: Derby
          Issue Type: Bug
          Components: SQL
            Reporter: Bernt M. Johnsen
         Assigned To: Bernt M. Johnsen


DataDictionaryImpl.getSystemSQLName() may generates names on the form 
SQLYYMMDDHHMMSSmmN where mm is in 10 milliseconds and N is number to avoid 
collisions with 10 milliseconds. The name was probably generated this way to 
fit into the 18 caharcter limit of constraint names in older derby versions. 
However, if a getSystemSQLName() is called 12 hours after a call on the same 
date (e.g at 01:00:00 and 13:00:00), which is unlikely but not very unlikely, a 
duplicate name is generated, since the HH-part is filled by the call
                                
generatedSystemSQLName.append(twoDigits(calendarForLastSystemSQLName.get(Calendar.HOUR)));
and Calendar.HOUR implementes the pretty stupid idea that there are only 12 
hours. It was definitely Calendar.HOUR_OF_DAY which gives you the hour for a 
24-hour clock that should have been used. 



-- 
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