X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=scripts%2Fcocanwiki_server_settings.ml;h=e8c7813b2305a01e46065b3b4d22eb7f133c7ded;hb=019c80476c64b5cd86b6e9d115c86162b2ae462c;hp=cb4212a2aebcef92524cf1e2fb8d973356c57227;hpb=03be670f1c2a13931f1b824f22cc9cebe4d61216;p=cocanwiki.git diff --git a/scripts/cocanwiki_server_settings.ml b/scripts/cocanwiki_server_settings.ml index cb4212a..e8c7813 100644 --- a/scripts/cocanwiki_server_settings.ml +++ b/scripts/cocanwiki_server_settings.ml @@ -1,7 +1,7 @@ (* COCANWIKI - a wiki written in Objective CAML. * Written by Richard W.M. Jones . * Copyright (C) 2004 Merjis Ltd. - * $Id: cocanwiki_server_settings.ml,v 1.1 2004/09/23 15:16:21 rich Exp $ + * $Id: cocanwiki_server_settings.ml,v 1.2 2004/09/27 09:46:00 rich Exp $ * * 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 @@ -36,17 +36,21 @@ open Printf * opportunity, in a request context, and cache the results. *) let server_settings_version, server_settings_stats_page = + let default = 1, None in let settings = ref None in let get_settings (dbh : Dbi.connection) = let sth = dbh#prepare "select version, stats_page from server_settings" in sth#execute []; let s = - match sth#fetch1 () with - | [ `Int version; (`String _ | `Null) as stats_page ] -> - let stats_page = - match stats_page with `String s -> Some s | `Null -> None in - version, stats_page - | _ -> assert false in + try + (match sth#fetch1 () with + | [ `Int version; (`String _ | `Null) as stats_page ] -> + let stats_page = + match stats_page with `String s -> Some s | `Null -> None in + version, stats_page + | _ -> assert false) + with + Not_found -> default in sth#finish (); settings := Some s; s