Broken MARC database format
Was issue 844825 on SourceForge.
=== Original post by mstetson on 2003-11-18 ===
The current table layout does not properly handle MARC fields that are both repeatable and have multiple subfields. There's no way to differentiate the subfields that go with different fields. The fix is to create a new table, biblio_subfields, like this:
fieldid: int(11)\ subfieldid: int(11)\ subfield_cd: char(1)\ subfield_data: text
And to change biblio_fields so that it looks like this:
bibid: int(11)\ fieldid: int(11)\ tag: smallint(6)\ ind1_cd: char(1)\ ind2_cd: char(2)\ field_data: text
Field data is still required for storing those few MARC fields that don't have subfields.
As I really need this fixed in order to import my client's data, I will probably implement the changes very soon. I'm posting a bug so that the developers know about it and can correct me (soon) if I'm operating from any wrong perceptions.
=== Comment by mstetson on 2004-04-30 ===
Even the changes I describe above don't make things perfect. We also need a position indicator to keep track of the order of subfields within a field. This bug needs fixing badly, but it won't happend in 0.5.0, and I'm not certain about 0.6.0. The changes required are extensive, and we're placing security fixes at a higher priority.