]> matita.cs.unibo.it Git - helm.git/commitdiff
more friendly sqlStatements api
authorEnrico Tassi <enrico.tassi@inria.fr>
Tue, 3 May 2005 13:55:07 +0000 (13:55 +0000)
committerEnrico Tassi <enrico.tassi@inria.fr>
Tue, 3 May 2005 13:55:07 +0000 (13:55 +0000)
helm/ocaml/metadata/sqlStatements.ml
helm/ocaml/metadata/sqlStatements.mli
helm/ocaml/metadata/table_creator/table_creator.ml

index b57c661f3fb26c4ef6f01497ad3429615b42c481..0c51feba6faef4fd405282566e4c6fd9e1f1fa3d 100644 (file)
@@ -4,78 +4,75 @@ type tbl = [ `RefObj| `RefSort| `RefRel| `ObjectName| `Owners| `Count]
 
 (* TABLES *)
 
-let sprintf_refObj_format name = sprintf "
+let sprintf_refObj_format name = [sprintf "
 CREATE TABLE %s (
     source varchar(255) binary not null,
     h_occurrence varchar(255) binary not null,
     h_position varchar(255) binary not null,
     h_depth integer
-);" name
+);" name]
 
-let sprintf_refSort_format name = sprintf "
+let sprintf_refSort_format name = [sprintf "
 CREATE TABLE %s (
     source varchar(255) binary not null,
     h_position varchar(255) binary not null,
     h_depth integer not null,
     h_sort varchar(255) binary not null
-);" name
+);" name]
 
-let sprintf_refRel_format name = sprintf "
+let sprintf_refRel_format name = [sprintf "
 CREATE TABLE %s (
     source varchar(255) binary not null,
     h_position varchar(255) binary not null,
     h_depth integer not null
-);" name
+);" name]
 
-let sprintf_objectName_format name = sprintf "
+let sprintf_objectName_format name = [sprintf "
 CREATE TABLE %s (
     source varchar(255) binary not null,
     value varchar(255) binary not null
-);" name
+);" name]
 
-let sprintf_owners_format name = sprintf "
+let sprintf_owners_format name = [sprintf "
 CREATE TABLE %s (
     source varchar(255) binary not null,
     owner varchar(255) binary not null
-);" name
+);" name]
 
-let sprintf_count_format name = sprintf "
+let sprintf_count_format name = [sprintf "
 CREATE TABLE %s (
     source varchar(255) binary unique not null,
     conclusion smallint(6) not null,
     hypothesis smallint(6) not null,
     statement smallint(6) not null
-);" name
+);" name]
 
 (* INDEXES *)
 
-let sprintf_refObj_index name = sprintf "
-CREATE INDEX %s_source ON %s (source);
-CREATE INDEX %s_target ON %s (h_occurrence);
-CREATE INDEX %s_position ON %s (h_position);
-" name name name name name name 
+let sprintf_refObj_index name = [
+sprintf "CREATE INDEX %s_source ON %s (source);" name name ;
+sprintf "CREATE INDEX %s_target ON %s (h_occurrence);" name name ;
+sprintf "CREATE INDEX %s_position ON %s (h_position);" name name ]
 
-let sprintf_refSort_index name = sprintf "
+let sprintf_refSort_index name = [sprintf "
 CREATE INDEX %s_source ON %s (source);
-" name name
+" name name]
 
-let sprintf_objectName_index name = sprintf "
-CREATE INDEX %s_value ON %s (value);
-" name name
+let sprintf_objectName_index name = [
+sprintf " CREATE INDEX %s_value ON %s (value);" name name]
 
-let sprintf_owners_index name = sprintf "
-CREATE INDEX %s_owner ON %s (owner);
-CREATE INDEX %s_source ON %s (source);
-" name name name name 
+let sprintf_owners_index name = [
+sprintf "CREATE INDEX %s_owner ON %s (owner);" name name ;
+sprintf "CREATE INDEX %s_source ON %s (source);" name name] 
 
-let sprintf_count_index name = sprintf "
-CREATE INDEX %s_source ON %s (source);
-CREATE INDEX %s_conclusion ON %s (conclusion);
-CREATE INDEX %s_hypothesis ON %s (hypothesis);
-CREATE INDEX %s_statement ON %s (statement);
-" name name name name name name name name 
+let sprintf_count_index name = [
+sprintf "CREATE INDEX %s_source ON %s (source);" name name;
+sprintf "CREATE INDEX %s_conclusion ON %s (conclusion);" name name;
+sprintf "CREATE INDEX %s_hypothesis ON %s (hypothesis);" name name;
+sprintf "CREATE INDEX %s_statement ON %s (statement);" name name]
 
-let sprintf_refRel_index name = ""
+let sprintf_refRel_index name = []
 
 (* FUNCTIONS *)
 
@@ -98,8 +95,8 @@ let get_index_format t named =
   | `Count -> sprintf_count_index named
   
 let create_tables l =
-  List.fold_left (fun s (name,table) ->  s ^ get_table_format table name) "" l
+  List.fold_left (fun s (name,table) ->  s @ get_table_format table name) [] l
 
 let create_indexes l =
-  List.fold_left (fun s (name,table) ->  s ^ get_index_format table name) "" l
+  List.fold_left (fun s (name,table) ->  s @ get_index_format table name) [] l
   
index caf1e037b50aa9650d4064a04db806b4449e2562..d7321513450e82abf866ff3c702172b516172270 100644 (file)
@@ -1,7 +1,7 @@
 
 type tbl = [ `RefObj| `RefSort| `RefRel| `ObjectName| `Owners| `Count]
 
-val create_tables: (string * tbl) list -> string
+val create_tables: (string * tbl) list -> string list
     
-val create_indexes: (string * tbl) list -> string
+val create_indexes: (string * tbl) list -> string list
 
index 7cd3b35f2461eb06c8e5533b3d3581cc6d076712..4eb84ad744437d8c5453131607a91e89bf08b39a 100644 (file)
@@ -37,8 +37,9 @@ let main () =
       let todo = Array.to_list (Array.sub Sys.argv from (len - from)) in
       let todo = parse_args todo in
       let todo = List.map (fun (x,name) -> name, (List.assoc x map)) todo in
-      print_endline (SqlStatements.create_tables todo);
-      if index then print_endline (SqlStatements.create_indexes todo)
+      print_endline (String.concat "\n" (SqlStatements.create_tables todo));
+      if index then 
+        print_endline (String.concat "\n" (SqlStatements.create_indexes todo))
     end
 
 let _ = main ()