(** Parse a text value into a date *) open CalendarLib let first_day = CalendarLib.Date.make 1899 12 30 let f : Sqlite3.Data.t -> Sqlite3.Data.t = fun data -> match data with | Sqlite3.Data.INT content -> let nb = Int64.to_int content in let date = Date.add first_day (Date.Period.day nb) in let year = CalendarLib.Date.year date in Sqlite3.Data.INT (Int64.of_int year) | _ -> data let register : Sqlite3.db -> unit = fun db -> Sqlite3.create_fun1 db "year" f