/*
Copyright (C) 2024 filifa

This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
this program. If not, see <https://www.gnu.org/licenses/>.
*/

pragma foreign_keys = 0;

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

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

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

update fieldingpost
set
	gs = nullif(gs,''),
	innouts = nullif(innouts,''),
	pb = nullif(pb,''),
	sb = nullif(sb,''),
	cs = nullif(cs,'');

CREATE TABLE IF NOT EXISTS main."fieldingpost" (
	"player"	TEXT,
	"year"	NUMERIC,
	"round"	NUMERIC,
	"POS"	TEXT,
	"G"	NUMERIC,
	"GS"	NUMERIC,
	"InnOuts"	NUMERIC,
	"PO"	NUMERIC	check (PO <= InnOuts),
	"A"	NUMERIC,
	"E"	NUMERIC,
	"DP"	NUMERIC,
	"TP"	NUMERIC,
	"PB"	NUMERIC,
	"SB"	NUMERIC,
	"CS"	NUMERIC,
	PRIMARY KEY("player","year","round","POS"),
	foreign key("player","year") references "appearancespost"("player","year"),
	foreign key("year","round") references "seriespost"("year","round")
);

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