Det är inte särskilt mycket svårare att ändra i en databas av den inbyggda typen än i en MySQL-databas. Det jobbigaste är att H2-applikationen och OLA inte kan läsa i samma databas samtidigt, så man måste stänga ner OLA för att kunna göra ändringar. Om man gör ändringar hemma på kammaren efter en tävling är det inget större problem, men det vore jobbigt om man vill fixa något "live" under pågående tävling.
Jag använde mig av följande script:
UPDATE PUNCHINGENTRIES
Set punchingtime = DATEADD(ss, 3600, punchingtime)
where punchingcode = 55;
Där 3600 är tiden (i sekunder) som enheterna gick fel (i det här fallet en timme efter) och 55 är kodsiffran. Detta givet att alla stämplingar vid kodsiffra 55 var en timme fel. Om man haft två enheter med samma kodsiffra där den ena gått rätt blir det klart svårare, då måste man titta på varje löpares föregående stämpling också för se om man ska justera tiden eller inte.
I mitt fall hamnade en del av stämplingarna före nolltiden, vilket gjorde att de hamnade 12 timmar fel. Nolltid 09:00 tolkas av OLA som att alla stämplingar gjorts mellan 09 och 21, varför en stämpling 08.45 blir 20.45 i OLA. De stämplingar som hamnade före nolltiden (dvs efter 21 när jag justerat för kontrollenhetens fel) fick jag sedan dra ifrån 12 timmar på stämplingstiden med följande skript:
UPDATE PUNCHINGENTRIES
Set punchingtime = DATEADD(ss, -43200, punchingtime)
where punchingtime > '2013-04-07 21:00:00';
där 2013-04-07 21:00:00 är nolltiden + 12 timmar.
Jag antar att man kan uppdatera tider för start och mål också, men jag har inte koll på vilken tabell och vilka fält som gäller för det, eftersom jag inte drabbades av det själv.