Bug? in hierachical CFs

I have one CF with categories and ran the upgrade script. I was not
totally sure what to answer to the question of which name to use so I
used a new name and looking at the configuration UI of the customfields
it seems it has made a new one.
Ticket which belong in a queue which has this CF now have TWO
CustomFields, the old and the new one…
Displaying the main ticket screen is no problem but either going to
CustomFields or Basic leads to an endless query on my Oracle 10g
installation.
Looking at the last statement executed I see something weird:
SELECT main.*
FROM Attributes main
WHERE (main.Content = ‘221’)
AND (main.Name = ‘BasedOn’)
AND (main.ObjectType = ‘RT::CustomField’)

  1. The where (main.Content=‘221’) is not allowed on a CLOB column
  2. looking at the database there is one row with Name=BasedOn but its
    Content=326 and its OBJECTID=221
    Now that looks reversed to me. Infact rewriting to:
    SELECT main.*
    FROM Attributes main
    WHERE (main.OBJECTID = ‘221’)
    AND (main.Name = ‘BasedOn’)
    AND (main.ObjectType = ‘RT::CustomField’)

gives me one row where the CONTENT column contains 326
then doing:
select * from customfields where id=326
gives me my original, or root CF

Hope this makes sense, if not please let me know. I might have done
something wrong when choosing the name during conversion. I can restore
a copy of the database for testing.

Regards,

Joop

[snip]
Hope this makes sense, if not please let me know. I might have done
something wrong when choosing the name during conversion. I can restore
a copy of the database for testing.

Thanks for spotting this. Hierarchical CFs only referenced the CF they
were based on, not the other way around, which made the search for “CFs
which depend on me” have to rely on searching the Content field. In
054c5f3, I reworked it to remove the offending search.

  • Alex