Skip to content

Instantly share code, notes, and snippets.

@jdgoettsch
Last active November 2, 2020 18:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jdgoettsch/ac56e6ba82207c97c7de8f21ed5102a6 to your computer and use it in GitHub Desktop.
Save jdgoettsch/ac56e6ba82207c97c7de8f21ed5102a6 to your computer and use it in GitHub Desktop.
Evergreen 3.6 Import Issues
DROP TABLE IF EXISTS staging_records_import;
CREATE TABLE staging_records_import (id BIGSERIAL, dest BIGINT, marc TEXT);
ALTER SEQUENCE staging_records_import_id_seq RESTART WITH 1;
TRUNCATE TABLE biblio.record_entry CASCADE;
ALTER SEQUENCE biblio.record_entry_id_seq RESTART WITH 1;
CREATE OR REPLACE FUNCTION staging_importer() RETURNS VOID AS $$
DECLARE stage RECORD;
BEGIN
FOR stage IN SELECT * FROM staging_records_import ORDER BY id LOOP
INSERT INTO biblio.record_entry (marc, last_xact_id) VALUES (stage.marc, 'IMPORT');
UPDATE staging_records_import SET dest = currval('biblio.record_entry_id_seq')
WHERE id = stage.id;
END LOOP;
END;
$$ LANGUAGE plpgsql;
COPY staging_records_import (marc) FROM '/home/jeff/records.csv' WITH CSV HEADER;
SELECT staging_importer();
DROP TABLE IF EXISTS staging_materials;
TRUNCATE TABLE asset.call_number CASCADE;
ALTER SEQUENCE asset.call_number_id_seq RESTART WITH 1;
TRUNCATE TABLE asset.copy CASCADE;
ALTER SEQUENCE asset.copy_id_seq RESTART WITH 1;
TRUNCATE TABLE biblio.monograph_part CASCADE;
ALTER SEQUENCE biblio.monograph_part_id_seq RESTART WITH 1;
CREATE TABLE staging_materials (
bibkey BIGINT, -- biblio.record_entry_id
callnum TEXT, -- call number label
callnum_prefix TEXT, -- call number prefix
callnum_suffix TEXT, -- call number suffix
callnum_class TEXT, -- classification scheme
create_date DATE,
location TEXT, -- shelving location code
item_type TEXT, -- circulation modifier code
owning_lib TEXT, -- org unit code
barcode TEXT, -- copy barcode
part TEXT
);
COPY staging_materials (bibkey, callnum, callnum_prefix,
callnum_suffix, callnum_class, create_date, location,
item_type, owning_lib, barcode, part) FROM '/home/jeff/holdings.tsv';
INSERT INTO asset.copy_location (name, owning_lib)
SELECT DISTINCT location, 1 FROM staging_materials
WHERE NOT EXISTS (
SELECT 1 FROM asset.copy_location
WHERE name = location
);
-- These are already in the database, no need to update them
--
--INSERT INTO config.circ_modifier (code, name, description, sip2_media_type)
-- SELECT DISTINCT item_type, item_type, item_type, '001'
-- FROM staging_materials
-- WHERE NOT EXISTS (
-- SELECT 1 FROM config.circ_modifier
-- WHERE item_type = code
-- );
INSERT INTO asset.call_number_prefix (owning_lib, label)
SELECT DISTINCT aou.id, callnum_prefix
FROM staging_materials sm
INNER JOIN actor.org_unit aou
ON aou.shortname = sm.owning_lib
WHERE NOT EXISTS (
SELECT 1 FROM asset.call_number_prefix acnp
WHERE callnum_prefix = acnp.label
AND aou.id = acnp.owning_lib
) AND callnum_prefix IS NOT NULL;
INSERT INTO asset.call_number_suffix (owning_lib, label)
SELECT DISTINCT aou.id, callnum_suffix
FROM staging_materials sm
INNER JOIN actor.org_unit aou
ON aou.shortname = sm.owning_lib
WHERE NOT EXISTS (
SELECT 1 FROM asset.call_number_suffix acns
WHERE callnum_suffix = acns.label
AND aou.id = acns.owning_lib
) AND callnum_suffix IS NOT NULL;
INSERT INTO asset.call_number (
creator, editor, record, owning_lib, label, prefix, suffix, label_class
)
SELECT DISTINCT 1, 1, bibkey, aou.id, callnum, acnp.id, acns.id,
CASE WHEN callnum_class = 'LC' THEN 1
WHEN callnum_class = 'DEWEY' THEN 2
END
FROM staging_materials sm
INNER JOIN actor.org_unit aou
ON aou.shortname = owning_lib
INNER JOIN asset.call_number_prefix acnp
ON COALESCE(acnp.label, '') = COALESCE(callnum_prefix, '')
INNER JOIN asset.call_number_suffix acns
ON COALESCE(acns.label, '') = COALESCE(callnum_suffix, '')
;
INSERT INTO asset.copy (
circ_lib, creator, editor, call_number, location,
loan_duration, fine_level, barcode
)
SELECT DISTINCT aou.id, 1, 1, acn.id, acl.id, 2, 2, barcode
FROM staging_materials sm
INNER JOIN actor.org_unit aou
ON aou.shortname = sm.owning_lib
INNER JOIN asset.copy_location acl
ON acl.name = sm.location
INNER JOIN asset.call_number acn
ON acn.label = sm.callnum
WHERE acn.deleted IS FALSE
;
INSERT INTO biblio.monograph_part (record, label)
SELECT DISTINCT bibkey, part
FROM staging_materials sm
WHERE part IS NOT NULL AND NOT EXISTS (
SELECT 1 FROM biblio.monograph_part bmp
WHERE sm.part = bmp.label
AND sm.bibkey = bmp.record
);
INSERT INTO asset.copy_part_map (target_copy, part)
SELECT DISTINCT acp.id, bmp.id
FROM staging_materials sm
INNER JOIN asset.copy acp
ON acp.barcode = sm.barcode
INNER JOIN biblio.monograph_part bmp
ON bmp.record = sm.bibkey
WHERE part IS NOT NULL
AND part = bmp.label
AND acp.deleted IS FALSE
AND NOT EXISTS (
SELECT 1 FROM asset.copy_part_map
WHERE target_copy = acp.id
AND part = bmp.id
);
1 Commercial policy.1000 ARE 2020-11-02 File Cabinets 001 ARE 1000
2 Policies and programs.1001 ARE 2020-11-02 File Cabinets 001 ARE 1001
3 Agriculture -- Education.1002 ARE 2020-11-02 File Cabinets 001 ARE 1002
4 Agriculture -- Statistics.1003 ARE 2020-11-02 File Cabinets 001 ARE 1003
5 Farms, Size of -- Bibliography.1004 ARE 2020-11-02 File Cabinets 001 ARE 1004
6 Future trading.1005 ARE 2020-11-02 File Cabinets 001 ARE 1005
7 Commercial policy -- Bibliography.1006 ARE 2020-11-02 File Cabinets 001 ARE 1006
8 Wheat trade.1007 ARE 2020-11-02 File Cabinets 001 ARE 1007
9 Irrigation.1008 ARE 2020-11-02 File Cabinets 001 ARE 1008
10 Soil erosion.1009 ARE 2020-11-02 File Cabinets 001 ARE 1009
-- Web search for "trade"
WITH w AS (
WITH x5638728a7ba8_keyword_xq AS (
SELECT
(to_tsquery('simple', COALESCE(NULLIF( '(' || btrim(regexp_replace(search_normalize(split_date_range($_14705$trade$_14705$)),E'(?:\\s+|:)','&','g'),'&|') || ')', '()'), '')) || to_tsquery('english_nostop', COALESCE(NULLIF( '(' || btrim(regexp_replace(search_normalize(split_date_range($_14705$trade$_14705$)),E'(?:\\s+|:)','&','g'),'&|') || ')', '()'), ''))) AS tsq,
(to_tsquery('simple', COALESCE(NULLIF( '(' || btrim(regexp_replace(search_normalize(split_date_range($_14705$trade$_14705$)),E'(?:\\s+|:)','&','g'),'&|') || ')', '()'), '')) || to_tsquery('english_nostop', COALESCE(NULLIF( '(' || btrim(regexp_replace(search_normalize(split_date_range($_14705$trade$_14705$)),E'(?:\\s+|:)','&','g'),'&|') || ')', '()'), ''))) AS tsq_rank
),
lang_with AS (
SELECT id FROM config.coded_value_map WHERE ctype = 'item_lang' AND code = $_14705$eng$_14705$
),
pop_with AS (
SELECT
record,
ARRAY_AGG(badge) AS badges,
SUM(s.score::NUMERIC*b.weight::NUMERIC)/SUM(b.weight::NUMERIC) AS total_score
FROM rating.record_badge_score s
JOIN rating.badge b ON (
b.id = s.badge
AND b.scope = ANY ('{1}'))
GROUP BY 1
),
c_attr AS (SELECT (ARRAY_TO_STRING(ARRAY[search.calculate_visibility_attribute_test('circ_lib','{1}',FALSE)],'&'))::query_int AS vis_test FROM asset.patron_default_visibility_mask() x),
b_attr AS (SELECT (search.calculate_visibility_attribute_test('luri_org','{1}',FALSE))::query_int AS vis_test FROM asset.patron_default_visibility_mask() x)
SELECT id,
rel,
CASE WHEN cardinality(records) = 1 THEN records[1] ELSE NULL END AS record,
NULL::INT AS total,
NULL::INT AS checked,
NULL::INT AS visible,
NULL::INT AS deleted,
NULL::INT AS excluded,
badges,
popularity
FROM (
SELECT m.source AS id,
ARRAY[m.source] AS records,
(AVG(
(COALESCE(ts_rank_cd('{0.1, 0.2, 0.4, 1.0}', x5638728a7ba8_keyword.index_vector, x5638728a7ba8_keyword.tsq_rank, 14) * x5638728a7ba8_keyword.weight * 1000, 0.0)
* COALESCE(evergreen.rel_bump(('{' || quote_literal(search_normalize($_14705$trade$_14705$)) || '}')::TEXT[], x5638728a7ba8_keyword.value, '{word_order}'::TEXT[], '{10}'::NUMERIC[]),1.0))
)+1 * COALESCE( 5, 1))::NUMERIC AS rel,
1.0/((AVG(
(COALESCE(ts_rank_cd('{0.1, 0.2, 0.4, 1.0}', x5638728a7ba8_keyword.index_vector, x5638728a7ba8_keyword.tsq_rank, 14) * x5638728a7ba8_keyword.weight * 1000, 0.0)
* COALESCE(evergreen.rel_bump(('{' || quote_literal(search_normalize($_14705$trade$_14705$)) || '}')::TEXT[], x5638728a7ba8_keyword.value, '{word_order}'::TEXT[], '{10}'::NUMERIC[]),1.0))
)+1 * COALESCE( 5, 1)))::NUMERIC AS rank,
FIRST(pubdate_t.value) AS tie_break,
STRING_AGG(ARRAY_TO_STRING(pop_with.badges,','),',') AS badges,
AVG(COALESCE(pop_with.total_score::NUMERIC,0.0::NUMERIC))::NUMERIC(2,1) AS popularity
FROM metabib.metarecord_source_map m
LEFT JOIN (
SELECT fe.*, fe_weight.weight, x5638728a7ba8_keyword_xq.tsq, x5638728a7ba8_keyword_xq.tsq_rank /* search */
FROM metabib.keyword_field_entry AS fe
JOIN config.metabib_field AS fe_weight ON (fe_weight.id = fe.field)
JOIN x5638728a7ba8_keyword_xq ON (fe.index_vector @@ x5638728a7ba8_keyword_xq.tsq)
UNION ALL
SELECT fe.id, fe.source, fe.field, fe.value, fe.index_vector, fe_weight.weight, x5638728a7ba8_keyword_xq.tsq, x5638728a7ba8_keyword_xq.tsq_rank /* virtual field addition */
FROM metabib.title_field_entry AS fe
JOIN config.metabib_field_virtual_map AS fe_weight ON (fe_weight.virtual = 45 AND fe_weight.real IN (6,53) AND fe_weight.real = fe.field)
JOIN x5638728a7ba8_keyword_xq ON (fe.index_vector @@ x5638728a7ba8_keyword_xq.tsq)
UNION ALL
SELECT fe.id, fe.source, fe.field, fe.value, fe.index_vector, fe_weight.weight, x5638728a7ba8_keyword_xq.tsq, x5638728a7ba8_keyword_xq.tsq_rank /* virtual field addition */
FROM metabib.subject_field_entry AS fe
JOIN config.metabib_field_virtual_map AS fe_weight ON (fe_weight.virtual = 45 AND fe_weight.real IN (16) AND fe_weight.real = fe.field)
JOIN x5638728a7ba8_keyword_xq ON (fe.index_vector @@ x5638728a7ba8_keyword_xq.tsq)
UNION ALL
SELECT fe.id, fe.source, fe.field, fe.value, fe.index_vector, fe_weight.weight, x5638728a7ba8_keyword_xq.tsq, x5638728a7ba8_keyword_xq.tsq_rank /* virtual field addition */
FROM metabib.keyword_field_entry AS fe
JOIN config.metabib_field_virtual_map AS fe_weight ON (fe_weight.virtual = 45 AND fe_weight.real IN (39,41,42,46,47,48,50) AND fe_weight.real = fe.field)
JOIN x5638728a7ba8_keyword_xq ON (fe.index_vector @@ x5638728a7ba8_keyword_xq.tsq)
UNION ALL
SELECT fe.id, fe.source, fe.field, fe.value, fe.index_vector, fe_weight.weight, x5638728a7ba8_keyword_xq.tsq, x5638728a7ba8_keyword_xq.tsq_rank /* virtual field addition */
FROM metabib.author_field_entry AS fe
JOIN config.metabib_field_virtual_map AS fe_weight ON (fe_weight.virtual = 45 AND fe_weight.real IN (8) AND fe_weight.real = fe.field)
JOIN x5638728a7ba8_keyword_xq ON (fe.index_vector @@ x5638728a7ba8_keyword_xq.tsq)
) AS x5638728a7ba8_keyword ON (m.source = x5638728a7ba8_keyword.source)
INNER JOIN metabib.record_attr_vector_list mrv ON m.source = mrv.source
INNER JOIN biblio.record_entry bre ON m.source = bre.id AND NOT bre.deleted
LEFT JOIN pop_with ON ( m.source = pop_with.record )
LEFT JOIN metabib.record_sorter pubdate_t ON m.source = pubdate_t.source AND attr = 'pubdate'
,lang_with
,c_attr
,b_attr
WHERE 1=1
AND (
(
(x5638728a7ba8_keyword.id IS NOT NULL)
)
)
AND (
((EXISTS (SELECT 1 FROM asset.copy_vis_attr_cache WHERE record = m.source AND vis_attr_vector @@ c_attr.vis_test) OR (NOT EXISTS (SELECT 1 FROM asset.copy_vis_attr_cache WHERE record = m.source) AND (bre.vis_attr_vector IS NULL OR NOT ( int4range(0,268435455,'[]') @> ANY(bre.vis_attr_vector) ))))) OR ((b_attr.vis_test IS NULL OR bre.vis_attr_vector @@ b_attr.vis_test))
)
GROUP BY 1
ORDER BY 4 ASC NULLS LAST, 5 DESC NULLS LAST, 3 DESC
LIMIT 100000
) AS core_query
) (SELECT * FROM w LIMIT 1000 OFFSET 0)
UNION ALL
SELECT NULL,NULL,NULL,COUNT(*),COUNT(*),COUNT(*),0,0,NULL,NULL FROM w;
marc
<record><leader> a22 4500</leader><datafield ind1="1" ind2="#" tag="100"><subfield code="a">United States. Congress. House. Committee on Ways and Means</subfield></datafield><datafield ind1="0" ind2="#" tag="650"><subfield code="a">Commercial policy</subfield></datafield><datafield ind1="0" ind2="#" tag="050"><subfield code="a">KF27</subfield></datafield><datafield ind1="0" ind2="0" tag="245"><subfield code="a">Trade and International Economic Policy Reform Act of 1987</subfield></datafield><datafield ind1="#" ind2="#" tag="260"><subfield code="a">Washington, D.C.</subfield><subfield code="b">U.S. Congress, House Committee on Ways and Means</subfield><subfield code="c">1987</subfield></datafield><datafield ind1="#" ind2="#" tag="300"><subfield code="a">6 v.</subfield></datafield><datafield ind1="0" ind2="#" tag="490"><subfield code="a">Report ;</subfield></datafield><datafield ind1="#" ind2="0" tag="830"><subfield code="a">100-40</subfield></datafield><datafield ind1="#" ind2="#" tag="999"><subfield code="a">Commercial policy.1000</subfield><subfield code="i">1000</subfield><subfield code="k">Available</subfield><subfield code="l">File Cabinets</subfield><subfield code="m">ARE</subfield><subfield code="t">001</subfield><subfield code="u">1</subfield><subfield code="x">holdable</subfield><subfield code="y">circulating</subfield><subfield code="z">visible</subfield></datafield></record>
<record><leader> a22 4500</leader><datafield ind1="1" ind2="#" tag="100"><subfield code="a">U.S. General Accounting Office</subfield></datafield><datafield ind1="0" ind2="#" tag="650"><subfield code="a">Policies and programs</subfield></datafield><datafield ind1="0" ind2="#" tag="050"><subfield code="a">S561</subfield><subfield code="b">.5</subfield></datafield><datafield ind1="0" ind2="0" tag="245"><subfield code="a">Farm programs : an overview of price and income support, and storage programs</subfield></datafield><datafield ind1="#" ind2="#" tag="260"><subfield code="a">Washington, D.C.</subfield><subfield code="b">U.S. General Accounting Office</subfield><subfield code="c">1988</subfield></datafield><datafield ind1="#" ind2="#" tag="300"><subfield code="a">63 p.</subfield></datafield><datafield ind1="#" ind2="#" tag="999"><subfield code="a">Policies and programs.1001</subfield><subfield code="i">1001</subfield><subfield code="k">Available</subfield><subfield code="l">File Cabinets</subfield><subfield code="m">ARE</subfield><subfield code="t">001</subfield><subfield code="u">1</subfield><subfield code="x">holdable</subfield><subfield code="y">circulating</subfield><subfield code="z">visible</subfield></datafield></record>
<record><leader> a22 4500</leader><datafield ind1="1" ind2="#" tag="100"><subfield code="a">Ruppel, Fred J.</subfield></datafield><datafield ind1="0" ind2="#" tag="650"><subfield code="a">Agriculture</subfield><subfield code="x">Education</subfield></datafield><datafield ind1="0" ind2="0" tag="245"><subfield code="a">Emerging considerations for internationalizing agricultural curricula : a survey of the teaching of international agricultural trade and development in U.S. Departments of Agricultural Economics</subfield></datafield><datafield ind1="#" ind2="#" tag="260"><subfield code="a">College Station</subfield><subfield code="b">Texas A &amp; M University</subfield><subfield code="c">1988</subfield></datafield><datafield ind1="#" ind2="#" tag="300"><subfield code="a">15 p.</subfield></datafield><datafield ind1="#" ind2="#" tag="500"><subfield code="a">Paper presented at the AAEA 1988 annual meeting. </subfield></datafield><datafield ind1="0" ind2="#" tag="700"><subfield code="a">Fred J. Ruppel</subfield></datafield><datafield ind1="#" ind2="#" tag="999"><subfield code="a">Agriculture -- Education.1002</subfield><subfield code="i">1002</subfield><subfield code="k">Available</subfield><subfield code="l">File Cabinets</subfield><subfield code="m">ARE</subfield><subfield code="t">001</subfield><subfield code="u">1</subfield><subfield code="x">holdable</subfield><subfield code="y">circulating</subfield><subfield code="z">visible</subfield></datafield></record>
<record><leader> a22 4500</leader><datafield ind1="1" ind2="#" tag="100"><subfield code="a">Schertz, Lyle P.</subfield></datafield><datafield ind1="0" ind2="#" tag="650"><subfield code="a">Agriculture</subfield><subfield code="x">Statistics</subfield></datafield><datafield ind1="0" ind2="0" tag="245"><subfield code="a">Toward concensus in adopting improved data concepts</subfield></datafield><datafield ind1="#" ind2="#" tag="260"><subfield code="a">Washington, D.C.</subfield><subfield code="b">U.S. Department of Agriculture, Economic Research Service</subfield><subfield code="c">1987</subfield></datafield><datafield ind1="#" ind2="#" tag="300"><subfield code="a">2 p.</subfield></datafield><datafield ind1="0" ind2="#" tag="700"><subfield code="a">Lyle P. Schertz</subfield></datafield><datafield ind1="#" ind2="#" tag="999"><subfield code="a">Agriculture -- Statistics.1003</subfield><subfield code="i">1003</subfield><subfield code="k">Available</subfield><subfield code="l">File Cabinets</subfield><subfield code="m">ARE</subfield><subfield code="t">001</subfield><subfield code="u">1</subfield><subfield code="x">holdable</subfield><subfield code="y">circulating</subfield><subfield code="z">visible</subfield></datafield></record>
<record><leader> a22 4500</leader><datafield ind1="1" ind2="#" tag="100"><subfield code="a">National Agricultural Library</subfield></datafield><datafield ind1="0" ind2="#" tag="650"><subfield code="a">Farms, Size of</subfield><subfield code="x">Bibliography</subfield></datafield><datafield ind1="0" ind2="0" tag="245"><subfield code="a">Small farms and farming in the U.S. 1985-1987</subfield></datafield><datafield ind1="#" ind2="#" tag="260"><subfield code="a">Beltsville, MD</subfield><subfield code="b">U.S. Department of Agriculture, National Agricultural Library</subfield><subfield code="c">1988</subfield></datafield><datafield ind1="#" ind2="#" tag="300"><subfield code="a">22 p.</subfield></datafield><datafield ind1="0" ind2="#" tag="490"><subfield code="a">Quick bibliography series NAL-BIBL : QB</subfield></datafield><datafield ind1="#" ind2="#" tag="999"><subfield code="a">Farms, Size of -- Bibliography.1004</subfield><subfield code="i">1004</subfield><subfield code="k">Available</subfield><subfield code="l">File Cabinets</subfield><subfield code="m">ARE</subfield><subfield code="t">001</subfield><subfield code="u">1</subfield><subfield code="x">holdable</subfield><subfield code="y">circulating</subfield><subfield code="z">visible</subfield></datafield></record>
<record><leader> a22 4500</leader><datafield ind1="1" ind2="#" tag="100"><subfield code="a">National Futures Association</subfield></datafield><datafield ind1="0" ind2="#" tag="650"><subfield code="a">Future trading</subfield></datafield><datafield ind1="0" ind2="#" tag="050"><subfield code="a">HG6024</subfield><subfield code="b">.U5</subfield></datafield><datafield ind1="0" ind2="0" tag="245"><subfield code="a">Buying options on futures contracts : a guide to their uses and risks</subfield></datafield><datafield ind1="#" ind2="#" tag="260"><subfield code="a">Chicago</subfield><subfield code="b">National Futures Association</subfield><subfield code="c">1988</subfield></datafield><datafield ind1="#" ind2="#" tag="300"><subfield code="a">24 p.</subfield></datafield><datafield ind1="#" ind2="#" tag="999"><subfield code="a">Future trading.1005</subfield><subfield code="i">1005</subfield><subfield code="k">Available</subfield><subfield code="l">File Cabinets</subfield><subfield code="m">ARE</subfield><subfield code="t">001</subfield><subfield code="u">1</subfield><subfield code="x">holdable</subfield><subfield code="y">circulating</subfield><subfield code="z">visible</subfield></datafield></record>
<record><leader> a22 4500</leader><datafield ind1="1" ind2="#" tag="100"><subfield code="a">National Agricultural Library</subfield></datafield><datafield ind1="0" ind2="#" tag="650"><subfield code="a">Commercial policy</subfield><subfield code="x">Bibliography</subfield></datafield><datafield ind1="0" ind2="#" tag="050"><subfield code="a">S1</subfield></datafield><datafield ind1="0" ind2="0" tag="245"><subfield code="a">Agricultural trade negotiations : adapting to changing needs : 1979-1987</subfield></datafield><datafield ind1="#" ind2="#" tag="260"><subfield code="a">Beltsville, MD</subfield><subfield code="b">U.S. Department of Agriculture, National Agricultural Library</subfield><subfield code="c">1988</subfield></datafield><datafield ind1="#" ind2="#" tag="300"><subfield code="a">22 p.</subfield></datafield><datafield ind1="0" ind2="#" tag="490"><subfield code="a">Quick bibliography series NAL-BIBL : QB</subfield></datafield><datafield ind1="#" ind2="#" tag="500"><subfield code="a"> </subfield></datafield><datafield ind1="#" ind2="0" tag="830"><subfield code="a">QB 88-27</subfield></datafield><datafield ind1="#" ind2="#" tag="999"><subfield code="a">Commercial policy -- Bibliography.1006</subfield><subfield code="i">1006</subfield><subfield code="k">Available</subfield><subfield code="l">File Cabinets</subfield><subfield code="m">ARE</subfield><subfield code="t">001</subfield><subfield code="u">1</subfield><subfield code="x">holdable</subfield><subfield code="y">circulating</subfield><subfield code="z">visible</subfield></datafield></record>
<record><leader> a22 4500</leader><datafield ind1="1" ind2="#" tag="100"><subfield code="a">Haley, Stephen L.</subfield></datafield><datafield ind1="0" ind2="#" tag="650"><subfield code="a">Wheat trade</subfield></datafield><datafield ind1="0" ind2="#" tag="050"><subfield code="a">HD9049</subfield><subfield code="b">.W5</subfield></datafield><datafield ind1="0" ind2="0" tag="245"><subfield code="a">Value of the dollar and competitiveness of U.S. wheat exports : further evidence</subfield></datafield><datafield ind1="#" ind2="#" tag="260"><subfield code="a">Washington, D.C.</subfield><subfield code="b">U.S. Department of Agriculture, Economic Research Service</subfield><subfield code="c">1988</subfield></datafield><datafield ind1="#" ind2="#" tag="300"><subfield code="a">13 p.</subfield></datafield><datafield ind1="0" ind2="#" tag="490"><subfield code="a">ERS staff report ; AGES</subfield></datafield><datafield ind1="0" ind2="#" tag="700"><subfield code="a">Stephen L. Haley</subfield></datafield><datafield ind1="#" ind2="0" tag="830"><subfield code="a">880218</subfield></datafield><datafield ind1="#" ind2="#" tag="999"><subfield code="a">Wheat trade.1007</subfield><subfield code="i">1007</subfield><subfield code="k">Available</subfield><subfield code="l">File Cabinets</subfield><subfield code="m">ARE</subfield><subfield code="t">001</subfield><subfield code="u">1</subfield><subfield code="x">holdable</subfield><subfield code="y">circulating</subfield><subfield code="z">visible</subfield></datafield></record>
<record><leader> a22 4500</leader><datafield ind1="1" ind2="#" tag="100"><subfield code="a">Negri, Donald H.</subfield></datafield><datafield ind1="0" ind2="#" tag="650"><subfield code="a">Irrigation</subfield></datafield><datafield ind1="0" ind2="#" tag="050"><subfield code="a">HD1751</subfield></datafield><datafield ind1="0" ind2="0" tag="245"><subfield code="a">Surplus crop production and the Small Reclamation Projects Act</subfield></datafield><datafield ind1="#" ind2="#" tag="260"><subfield code="a">Washington, D.C.</subfield><subfield code="b">U.S. Department of Agriculture. Economic Research Service</subfield><subfield code="c">1988</subfield></datafield><datafield ind1="#" ind2="#" tag="300"><subfield code="a">18 p.</subfield></datafield><datafield ind1="0" ind2="#" tag="490"><subfield code="a">Agricultural economic report ;</subfield></datafield><datafield ind1="0" ind2="#" tag="700"><subfield code="a">Donald H. Negri, Michael R. Moore, C. Edwin Young, Larry J. Schluntz, Dick L. Porter, and Ronald M. Willhite</subfield></datafield><datafield ind1="#" ind2="0" tag="830"><subfield code="a">592</subfield></datafield><datafield ind1="#" ind2="#" tag="999"><subfield code="a">Irrigation.1008</subfield><subfield code="i">1008</subfield><subfield code="k">Available</subfield><subfield code="l">File Cabinets</subfield><subfield code="m">ARE</subfield><subfield code="t">001</subfield><subfield code="u">1</subfield><subfield code="x">holdable</subfield><subfield code="y">circulating</subfield><subfield code="z">visible</subfield></datafield></record>
<record><leader> a22 4500</leader><datafield ind1="1" ind2="#" tag="100"><subfield code="a">Pagoulatos, Angelos</subfield></datafield><datafield ind1="0" ind2="#" tag="650"><subfield code="a">Soil erosion</subfield></datafield><datafield ind1="0" ind2="#" tag="050"><subfield code="a">HD1401</subfield></datafield><datafield ind1="0" ind2="0" tag="245"><subfield code="a">Soil erosion and yield uncertainty in the soil conservation decision</subfield></datafield><datafield ind1="#" ind2="#" tag="260"><subfield code="a">Lexington</subfield><subfield code="b">University of Kentucky, Department of Agricultural Economics</subfield><subfield code="c">1987</subfield></datafield><datafield ind1="#" ind2="#" tag="300"><subfield code="a">30 p.</subfield></datafield><datafield ind1="0" ind2="#" tag="490"><subfield code="a">Agricultural economics research report ;</subfield></datafield><datafield ind1="0" ind2="#" tag="700"><subfield code="a">Angelos Pagoulatos, David L. Debertin and Fachrurrozie Sjarkowi</subfield></datafield><datafield ind1="#" ind2="0" tag="830"><subfield code="a">45</subfield></datafield><datafield ind1="#" ind2="#" tag="999"><subfield code="a">Soil erosion.1009</subfield><subfield code="i">1009</subfield><subfield code="k">Available</subfield><subfield code="l">File Cabinets</subfield><subfield code="m">ARE</subfield><subfield code="t">001</subfield><subfield code="u">1</subfield><subfield code="x">holdable</subfield><subfield code="y">circulating</subfield><subfield code="z">visible</subfield></datafield></record>
<record>
<leader> a22 4500</leader>
<datafield ind1=""1"" ind2=""#"" tag=""100"">
<subfield code=""a"">United States. Congress. House. Committee on Ways and Means</subfield>
</datafield>
<datafield ind1=""0"" ind2=""#"" tag=""650"">
<subfield code=""a"">Commercial policy</subfield>
</datafield>
<datafield ind1=""0"" ind2=""#"" tag=""050"">
<subfield code=""a"">KF27</subfield>
</datafield>
<datafield ind1=""0"" ind2=""0"" tag=""245"">
<subfield code=""a"">Trade and International Economic Policy Reform Act of 1987</subfield>
</datafield>
<datafield ind1=""#"" ind2=""#"" tag=""260"">
<subfield code=""a"">Washington, D.C.</subfield>
<subfield code=""b"">U.S. Congress, House Committee on Ways and Means</subfield>
<subfield code=""c"">1987</subfield>
</datafield>
<datafield ind1=""#"" ind2=""#"" tag=""300"">
<subfield code=""a"">6 v.</subfield>
</datafield>
<datafield ind1=""0"" ind2=""#"" tag=""490"">
<subfield code=""a"">Report ;</subfield>
</datafield>
<datafield ind1=""#"" ind2=""0"" tag=""830"">
<subfield code=""a"">100-40</subfield>
</datafield>
<datafield ind1=""#"" ind2=""#"" tag=""999"">
<subfield code=""a"">Commercial policy.1000</subfield>
<subfield code=""i"">1000</subfield>
<subfield code=""k"">Available</subfield>
<subfield code=""l"">File Cabinets</subfield>
<subfield code=""m"">ARE</subfield>
<subfield code=""t"">001</subfield>
<subfield code=""u"">1</subfield>
<subfield code=""x"">holdable</subfield>
<subfield code=""y"">circulating</subfield>
<subfield code=""z"">visible</subfield>
</datafield>
</record>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment