From: Stefano Zacchiroli Date: Tue, 17 May 2005 13:05:38 +0000 (+0000) Subject: - cathes more Mysql errors which could happen during post-indexing actions X-Git-Tag: single_binding~52 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=728c74fc32dc03e9ffde18ac060dcdef3ca55de9;p=helm.git - cathes more Mysql errors which could happen during post-indexing actions - bugfix in hits table handling during post-indexing actions - added copyright info --- diff --git a/helm/ocaml/metadata/extractor/extractor_manager.ml b/helm/ocaml/metadata/extractor/extractor_manager.ml index 3200a2600..ae541f458 100644 --- a/helm/ocaml/metadata/extractor/extractor_manager.ml +++ b/helm/ocaml/metadata/extractor/extractor_manager.ml @@ -1,4 +1,30 @@ +(* Copyright (C) 2004-2005, HELM Team. + * + * This file is part of HELM, an Hypertextual, Electronic + * Library of Mathematics, developed at the Computer Science + * Department, University of Bologna, Italy. + * + * HELM 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 2 + * of the License, or (at your option) any later version. + * + * HELM 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 HELM; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + * + * For details, see the HELM World-Wide-Web page, + * http://helm.cs.unibo.it/ + *) + (* HELPERS *) + let create_all dbd = let obj_tbl = MetadataTypes.obj_tbl () in let sort_tbl = MetadataTypes.sort_tbl () in @@ -220,7 +246,8 @@ let main () = (sort_tbl_b,`RefSort); (rel_tbl_b,`RefRel); (name_tbl_b,`ObjectName); - (count_tbl_b,`Count) ] @ + (count_tbl_b,`Count); + (hits_tbl,`Hits) ] @ SqlStatements.drop_indexes [ (obj_tbl,`RefObj); (sort_tbl,`RefSort); @@ -231,7 +258,8 @@ let main () = (sort_tbl_c,`RefSort); (rel_tbl_c,`RefRel); (name_tbl_c,`ObjectName); - (count_tbl_c,`Count) ] @ + (count_tbl_c,`Count); + (hits_tbl,`Hits) ] @ SqlStatements.rename_tables [ (obj_tbl,obj_tbl_b); (sort_tbl,sort_tbl_b); @@ -257,13 +285,22 @@ let main () = in List.iter (fun statement -> try +(* prerr_endline statement;*) ignore (Mysql.exec dbd statement) with exn -> let status = Mysql.status dbd in match status with - | Mysql.StatusError Mysql.Table_exists_error -> () - | Mysql.StatusError _ -> raise exn - | _ -> ()) + | Mysql.StatusError Mysql.Table_exists_error + | Mysql.StatusError Mysql.Bad_table_error + | Mysql.StatusError Mysql.Cant_drop_field_or_key + | Mysql.StatusError Mysql.Unknown_table -> () + | Mysql.StatusError status -> +(* prerr_endline (string_of_int (Obj.magic status));*) + prerr_endline (Printexc.to_string exn); + raise exn + | _ -> + prerr_endline (Printexc.to_string exn); + ()) stats ;;