-- Configurable log fields
ALTER TABLE exercise ADD logsets INTEGER NOT NULL default 0;
ALTER TABLE exercise ADD logvals INTEGER NOT NULL default 0;

-- wmove

CREATE TABLE new_wmove (
  wk INTEGER NOT NULL, 
  daynum INTEGER NOT NULL, 
  num INTEGER NOT NULL, 
  ex INTEGER NOT NULL,
  dt FLOAT NOT NULL default 0, 
  supset INTEGER NOT NULL, 
  supsetopt INTEGER NOT NULL DEFAULT 0, 
  ttlwgt FLOAT NOT NULL DEFAULT 0,
  ttlrep FLOAT NOT NULL DEFAULT 0,
  ttldst FLOAT NOT NULL,
  ttltm INTEGER NOT NULL,
  tmstart FLOAT NOT NULL,
  tmend FLOAT NOT NULL,
  ttlcal FLOAT NOT NULL,
  hravg INTEGER NOT NULL,
  hrmax INTEGER NOT NULL, 
  angle FLOAT NOT NULL default 0,
  dstunit INTEGER NOT NULL, 
  wgtunit INTEGER NOT NULL, 
  rem TEXT NOT NULL DEFAULT "", 
  PRIMARY KEY (wk, daynum, num)
);

INSERT INTO new_wmove (wk, daynum, num, ex, dt, supset, supsetopt, ttlwgt, ttlrep, ttldst, ttltm, tmstart, tmend, ttlcal, hravg, hrmax, angle, dstunit, wgtunit, rem) SELECT m.wk, m.daynum, m.num, m.ex, m.dt, m.supset, m.supsetopt, 0, 0, m.ttldst, m.ttltm, m.tmstart, m.tmend, m.ttlcal, m.hravg, m.hrmax, 0, 0, m.unit, m.rem FROM wmove m, exercise e WHERE m.ex = e.id AND e.type = 2;

INSERT INTO new_wmove (wk, daynum, num, ex, dt, supset, supsetopt, ttlwgt, ttlrep, ttldst, ttltm, tmstart, tmend, ttlcal, hravg, hrmax, angle, dstunit, wgtunit, rem) SELECT m.wk, m.daynum, m.num, m.ex, m.dt, m.supset, m.supsetopt, 0, 0, m.ttldst, m.ttltm, m.tmstart, m.tmend, m.ttlcal, m.hravg, m.hrmax, 0, m.unit, 0, m.rem FROM wmove m, exercise e WHERE m.ex = e.id AND e.type <> 2;

DROP TABLE wmove;

ALTER TABLE new_wmove RENAME TO wmove;


-- exlog

CREATE TABLE new_exlog (
  dt FLOAT NOT NULL,
  movenum INTEGER NOT NULL,
  ex INTEGER NOT NULL, 
  supset INTEGER NOT NULL DEFAULT 0,
  supsetopt INTEGER NOT NULL DEFAULT 0,
  orm FLOAT NOT NULL DEFAULT 0,
  ttlwgt FLOAT NOT NULL DEFAULT 0,
  maxwgt FLOAT NOT NULL DEFAULT 0,
  ttlrep FLOAT NOT NULL DEFAULT 0,
  maxrep FLOAT NOT NULL DEFAULT 0,
  ttldst FLOAT NOT NULL DEFAULT 0,
  ttltm INTEGER NOT NULL DEFAULT 0,
  tmstart FLOAT NOT NULL DEFAULT 0,
  tmend FLOAT NOT NULL DEFAULT 0,
  ttlcal FLOAT NOT NULL DEFAULT 0,
  hravg INTEGER NOT NULL DEFAULT 0,
  hrmax INTEGER NOT NULL DEFAULT 0,
  angle FLOAT NOT NULL default 0,
  dstunit INTEGER NOT NULL DEFAULT 0, 
  wgtunit INTEGER NOT NULL DEFAULT 0, 
  descr TEXT NOT NULL DEFAULT "", 
  PRIMARY KEY (dt, movenum)
);

INSERT INTO new_exlog (dt, movenum, ex, orm, ttlwgt, maxwgt, ttlrep, maxrep, ttldst, ttltm, tmstart, tmend, ttlcal, hravg, hrmax, angle, supset, supsetopt, dstunit, wgtunit, descr) SELECT l.dt, l.movenum, l.ex, l.orm, l.ttlwgt, l.maxwgt, l.ttlrep, l.maxrep, l.ttldst, l.ttltm, l.tmstart, l.tmend, l.ttlcal, l.hravg, l.hrmax, 0, l.supset, l.supsetopt, 0, l.unit, l.descr FROM exlog l, exercise e WHERE l.ex = e.id AND e.type = 2;

INSERT INTO new_exlog (dt, movenum, ex, orm, ttlwgt, maxwgt, ttlrep, maxrep, ttldst, ttltm, tmstart, tmend, ttlcal, hravg, hrmax, angle, supset, supsetopt, dstunit, wgtunit, descr) SELECT l.dt, l.movenum, l.ex, l.orm, l.ttlwgt, l.maxwgt, l.ttlrep, l.maxrep, l.ttldst, l.ttltm, l.tmstart, l.tmend, l.ttlcal, l.hravg, l.hrmax, 0, l.supset, l.supsetopt, l.unit, 0, l.descr FROM exlog l, exercise e WHERE l.ex = e.id AND e.type <> 2;

DROP TABLE exlog;

ALTER TABLE new_exlog RENAME TO exlog;



-- Fields for every set
ALTER TABLE exlogset ADD dst FLOAT NOT NULL default 0;
ALTER TABLE exlogset ADD tm INTEGER NOT NULL default 0;
ALTER TABLE exlogset ADD cal FLOAT NOT NULL default 0;
ALTER TABLE exlogset ADD hravg INTEGER NOT NULL default 0;
ALTER TABLE exlogset ADD hrmax INTEGER NOT NULL default 0;
ALTER TABLE exlogset ADD angle FLOAT NOT NULL default 0;

-- Fields for every set
ALTER TABLE wset ADD dst FLOAT NOT NULL default 0;
ALTER TABLE wset ADD tm INTEGER NOT NULL default 0;
ALTER TABLE wset ADD cal FLOAT NOT NULL default 0;
ALTER TABLE wset ADD hravg INTEGER NOT NULL default 0;
ALTER TABLE wset ADD hrmax INTEGER NOT NULL default 0;
ALTER TABLE wset ADD angle FLOAT NOT NULL default 0;


-- edt_wmove, edt_wset

DELETE FROM edt_wday;
DELETE FROM edt_workout;

DROP TABLE edt_wmove;

CREATE TABLE edt_wmove (
  wk INTEGER NOT NULL, 
  daynum INTEGER NOT NULL, 
  num INTEGER NOT NULL, 
  ex INTEGER NOT NULL,
  dt FLOAT NOT NULL default 0, 
  supset INTEGER NOT NULL, 
  supsetopt INTEGER NOT NULL DEFAULT 0, 
  ttlwgt FLOAT NOT NULL DEFAULT 0,
  ttlrep FLOAT NOT NULL DEFAULT 0,
  ttldst FLOAT NOT NULL,
  ttltm INTEGER NOT NULL,
  tmstart FLOAT NOT NULL,
  tmend FLOAT NOT NULL,
  ttlcal FLOAT NOT NULL,
  hravg INTEGER NOT NULL,
  hrmax INTEGER NOT NULL, 
  angle FLOAT NOT NULL default 0,
  dstunit INTEGER NOT NULL, 
  wgtunit INTEGER NOT NULL, 
  rem TEXT NOT NULL DEFAULT "", 
  PRIMARY KEY (wk, daynum, num)
);

DROP TABLE edt_wset;

CREATE TABLE edt_wset (
  wk INTEGER NOT NULL, 
  daynum INTEGER NOT NULL, 
  movenum INTEGER NOT NULL, 
  setnum INTEGER NOT NULL,
  reps FLOAT NOT NULL,
  weight FLOAT NOT NULL,
  rest INTEGER NOT NULL,
  dst FLOAT NOT NULL, 
  tm INTEGER NOT NULL, 
  cal FLOAT NOT NULL, 
  hravg INTEGER NOT NULL, 
  hrmax INTEGER NOT NULL, 
  angle FLOAT NOT NULL,
  PRIMARY KEY (wk, daynum, movenum, setnum)
);

-- Add "angle" to some cardio exercises

UPDATE exercise SET logvals = 1968 WHERE id IN (27, 41, 343);
