1 let _ = Helm_registry.load_from "extractor.conf.xml"
2 let _ = Unix.system ("mkdir -p " ^ (Helm_registry.get "tmp.dir"))
3 let _ = Http_getter.init ()
4 (*let _ = Http_getter.update () *)
8 ~host:(Helm_registry.get "db.host")
9 ~user:(Helm_registry.get "db.user")
10 ~database:(Helm_registry.get "db.database") ()
14 MetadataTypes.ownerize_tables Sys.argv.(1)
15 with Invalid_argument _ -> MetadataTypes.ownerize_tables "NEW"
17 let uri_RE = Str.regexp ".*\\(ind\\|var\\|con\\)$"
20 let obj_tbl = MetadataTypes.obj_tbl () in
21 let sort_tbl = MetadataTypes.sort_tbl () in
22 let rel_tbl = MetadataTypes.rel_tbl () in
23 let name_tbl = MetadataTypes.name_tbl () in
24 let count_tbl = MetadataTypes.count_tbl () in
26 (obj_tbl,`RefObj) ; (sort_tbl,`RefSort) ; (rel_tbl,`RefRel) ;
27 (name_tbl,`ObjectName) ; (count_tbl,`Count) ]
30 (SqlStatements.create_tables tbls) @ (SqlStatements.create_indexes tbls)
32 List.iter (fun statement ->
34 ignore (Mysql.exec dbd statement)
37 let status = Mysql.status dbd in
39 | Mysql.StatusError Mysql.Table_exists_error -> ()
40 | Mysql.StatusError _ -> raise exn
45 let obj_tbl = MetadataTypes.obj_tbl () in
46 let sort_tbl = MetadataTypes.sort_tbl () in
47 let rel_tbl = MetadataTypes.rel_tbl () in
48 let name_tbl = MetadataTypes.name_tbl () in
49 let count_tbl = MetadataTypes.count_tbl () in
51 (obj_tbl,`RefObj) ; (sort_tbl,`RefSort) ; (rel_tbl,`RefRel) ;
52 (name_tbl,`ObjectName) ; (count_tbl,`Count) ]
55 (SqlStatements.drop_tables tbls) @ (SqlStatements.drop_indexes tbls)
57 List.iter (fun statement ->
59 ignore (Mysql.exec dbd statement)
60 with Mysql.Error _ as exn ->
61 match Mysql.errno dbd with
62 | Mysql.Bad_table_error
63 | Mysql.No_such_index | Mysql.No_such_table -> ()
71 let uris = Http_getter.getalluris () in
72 let uris = List.filter (fun u -> Str.string_match uri_RE u 0) uris in
73 let len = float_of_int (List.length uris) in
77 let perc = ((float_of_int !i) /. len *. 100.0) in
78 let l = String.length u in
81 u ^ String.make (63 - l) ' '
83 "..." ^ String.sub u (l - 60) 60
85 Printf.printf "\rIndexing (%3.1f%%): %s" perc short;
87 let uri = UriManager.uri_of_string u in
88 MetadataDb.index_obj ~dbd ~uri)