X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fmathql_interpreter%2Fpattern.ml;h=993617bb8b3998b8d780ed5b695705671cf47852;hb=6cd9c31edf69f619789a9802e840fbb61f4b6b40;hp=2445e1c760fdae5096914631b5a2f70c2d0a6597;hpb=6a1d05b388683befc860b48b4f2bbaf42f58a112;p=helm.git diff --git a/helm/ocaml/mathql_interpreter/pattern.ml b/helm/ocaml/mathql_interpreter/pattern.ml index 2445e1c76..993617bb8 100644 --- a/helm/ocaml/mathql_interpreter/pattern.ml +++ b/helm/ocaml/mathql_interpreter/pattern.ml @@ -1,14 +1,60 @@ +(* Copyright (C) 2000, 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://www.cs.unibo.it/helm/. + *) + +(* + * implementazione del comando PATTERN + *) open Dbconn;; open Utility;; open Eval;; +open Mathql_semantics;; -let pattern_ex apreamble apattern ext afragid = +let pattern_ex (apreamble, apattern, afragid) = let c = pgc () in - let r1 = c#exec "select att0 from class where att2='Object'" in - let res = - c#exec ("select att0 from t" ^ (pgresult_to_string r1) ^ - " where att0 " ^ (pattern_match apreamble apattern ext afragid)) - in - [["retVal"]] @ List.map (fun l -> [l]) (pgresult_to_string_list res) + (*let _ = print_string ("USE ") + and t = Sys.time () in*) + (*let r1 = helm_class_id "MathResource" in*) + (*let qq = "select att0 from t" ^ r1 ^ " where att0 " ^ (pattern_match apreamble apattern afragid) ^ " order by t" ^ r1 ^ ".att0 asc" in*) + (*PRE-CLAUDIO + let qq = "select uri from registry where uri " ^ (pattern_match apreamble apattern afragid) ^ " order by registry.uri asc" in + let result = + let res = + c#exec (qq) + in + [["retVal"]] @ List.map (fun l -> [l]) (pgresult_to_string_list res)*) + let qq = "select uri from registry where uri " ^ (pattern_match (apreamble, apattern, afragid)) ^ " order by registry.uri asc" in +print_endline qq ; flush stderr ; + (*let _ = print_endline qq in*) + let res = + c#exec (qq) + in +(* PRE-CLAUDIO + (*let _ = print_endline (string_of_float (Sys.time () -. t)); flush stdout in*) + result*) + List.map + (function uri -> {uri = uri ; attributes = [] ; extra = ""}) + (pgresult_to_string_list res) ;;