pragma foreign_keys = 0;

-- check constraints are disabled for this file because the checks seem
-- reasonable, but there's a surprising number of records that fail them. Not
-- sure if it's a data problem or a misunderstanding on my part (or both).
pragma ignore_check_constraints = 1;

begin;
attach database 'baseball-raw.db' as 'raw';

create temp table fielding as
select * from "raw".fielding;

alter table fielding drop column "lgID";
alter table fielding drop column "teamID";

update fielding
set
	gs = nullif(gs,''),
	innouts = nullif(innouts,''),
	pb = nullif(pb,''),
	wp = nullif(wp,''),
	sb = nullif(sb,''),
	cs = nullif(cs,''),
	zr = nullif(zr,'');

CREATE TABLE IF NOT EXISTS main."fielding" (
	"player"	TEXT,
	"year"	NUMERIC,
	"stint"	NUMERIC,
	"POS"	TEXT,
	"G"	NUMERIC,
	"GS"	NUMERIC	check (GS <= G),
	"InnOuts"	NUMERIC,
	"PO"	NUMERIC	check (PO <= InnOuts),
	"A"	NUMERIC,
	"E"	NUMERIC,
	"DP"	NUMERIC,
	"PB"	NUMERIC,
	"WP"	NUMERIC,
	"SB"	NUMERIC,
	"CS"	NUMERIC,
	"ZR"	NUMERIC,
	PRIMARY KEY("player","year","stint","POS"),
	foreign key("year","player","stint") references "playerstints"("year","player","stint")
);

insert into main.fielding select distinct * from temp."fielding";
commit;
