warn bad resulting rowset
[sqlgg.git] / tables.ml
blobf03b48fd12105a1a140789977d241286f900d68b
1 (** Global list of tables *)
3 open Printf
5 type table = RA.table
7 let all : table list ref = ref []
9 (** @raise Error when no such table *)
10 let get_from tables name =
11 try
12 List.find (fun (n,_) -> n = name) tables
13 with Not_found -> failwith (sprintf "no such table %s" name)
15 let get name = get_from !all name
16 let get_scheme name = snd (get name)
17 let check name = ignore (get name)
19 let add v =
20 let (name,scheme) = v in
21 match List.find_all (fun (n,_) -> n = name) !all with
22 | [] -> all := v :: !all
23 | _ -> failwith (sprintf "table %s already exists" name)
25 let print () = List.iter RA.print_table !all
27 let reset () = all := []