In SharePoint 2003 and 2007, there was a table called AllLists which
had a column called tp_Fields which contained an xml containing all
fields for a specific list.
an example of the xml stored in the tp_Fields column would be this for a SharePoint List with 3 fields:
<FieldRef Name="ContentTypeId" />
<FieldRef Name="_ModerationComments" ColName="ntext1" />
<FieldRef Name="WebPartTypeName" ColName="nvarchar9" />
We have an application that is reading from this column using C# code e.g.
var tpFields = (String) drView["tp_Fields"];
In SharePoint 2010, the datatype of this column has changed to varbinary and contains just some binary data instead!
(I know the ideal/recommended solution was to use the SharePoint web
services or SharePoint object model and not relying on the underlying
tables but unfortunately we have an existing app and we'd need to make
it work with 2010 as well. I hope we don't have to redesign everything!)