-CREATE TABLE marc_0XX_tag_table (
- bibcode bigint(20) NOT NULL default '0',
- tagnumber char(3) NOT NULL default '',
- tagorder tinyint(4) NOT NULL default '0',
- tagvalue varchar(255) default NULL,
- valuebloblink bigint(20) default NULL,
- PRIMARY KEY (bibcode,tagnumber,tagorder)
- ) TYPE=MyISAM;
-
-CREATE TABLE marc_2XX_subfield_table (
+CREATE TABLE marc_subfield_table (
subfieldid bigint(20) unsigned NOT NULL auto_increment,
tagid bigint(20) NOT NULL default '0',
tag char(3) NOT NULL default '',
bibid bigint(20) NOT NULL default '0',
subfieldorder tinyint(4) NOT NULL default '0',
- subfieldcode char(1) NOT NULL default '',
+ subfieldmark char(1) NOT NULL default '',
subfieldvalue varchar(255) default NULL,
valuebloblink bigint(20) default NULL,
PRIMARY KEY (subfieldid),
- KEY (bibid,tagid,tag,subfieldcode),
- KEY (bibid,tag,subfieldcode,subfieldvalue)
+ KEY (bibid,tagid,tag,subfieldmark),
) TYPE=MyISAM;
-
tag char(3) NOT NULL default '',
bibid bigint(20) NOT NULL default '0',
subfieldorder tinyint(4) NOT NULL default '0',
- subfieldmark char(1) NOT NULL default '',
+ subfieldcode char(1) NOT NULL default '',
subfieldvalue varchar(255) default NULL,
valuebloblink bigint(20) default NULL,
PRIMARY KEY (subfieldid),
- KEY (bibid,tagid,tag,subfieldmark),
+ KEY (bibid,tagid,tag,subfieldcode),
) TYPE=MyISAM;
# marc_blob_tag containts tag longer than 255 car.
$record->{index}->{110}->{tags}=\(3,4) <-- array ref shows that tags 3 and 4
are 110 tags
+Need a similar index for subfields.... I'm not sure if this is any simpler than
+just looping through the tags every time. :)
+
+I think looping is the way to go...
+
This still needs more work. This will also require an API for accessing or
modifying this structure, as it is non-trivial to parse the data. I'm also
starting to wonder how difficult it is going to be to develop templates using