Broken MARC database format

Create issue
Issue #1 open
Micah Stetson repo owner created an issue

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.


Comments (5)

  1. Former user Account Deleted

    Deprecated: Function set_magic_quotes_runtime() is deprecated in C:\Program Files\EasyPHP-\www\openbiblio\shared\common.php on line 24


  2. Hans van der Weij

    Anonymous: the "Deprecated ..." warning is not related to issue 1. It will go away when PHP is run with production settings, but using EasyPHP- you will run into more issues.

    For example: install and upgrade for OpenBiblio versions up to 0.7.0 can't run succesfully because of a backwards incompatible change in MySQL 5.5. Until this is fixed, try an older version of EasyPHP. Probably EasyPHP 5.2.10 will work.

  3. Hans van der Weij

    The issue is fixed in (1.0-wip)

    But is NOT fixed in (0.x.x)

    That MARC is not stored perfectly in the database tables, does not seem to be a big issue for current users of the OpenBiblio 0.x.x branch. But it is a know limitation, so for release 0.7.1, a section "Known limitations" has been added to install_instructions.html

  4. Log in to comment