X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Flibrary%2FlibraryClean.ml;h=1b378e6c2a72f235ac9cdb62a0955ae7f6ba2334;hb=99727f61d0a718e34d4282f9b9b45fce4336af84;hp=54aa860c9b290acb5b72bd86d7ca31983e0fd1d8;hpb=55e71f58c4ee05842c53960ffbfb3fed7cf3ac30;p=helm.git diff --git a/helm/software/components/library/libraryClean.ml b/helm/software/components/library/libraryClean.ml index 54aa860c9..1b378e6c2 100644 --- a/helm/software/components/library/libraryClean.ml +++ b/helm/software/components/library/libraryClean.ml @@ -51,17 +51,20 @@ let one_step_depend suri = let buri = buri ^ "/" in let buri = HSql.escape buri in let obj_tbl = MetadataTypes.obj_tbl () in - if HSql.isMysql then - sprintf ("SELECT source, h_occurrence FROM %s WHERE " - ^^ "h_occurrence REGEXP '^%s[^/]*$'") obj_tbl buri - else - begin + if HSql.isMysql then + sprintf ("SELECT source, h_occurrence FROM %s WHERE " + ^^ "h_occurrence REGEXP '^%s[^/]*$'") obj_tbl buri + else + begin + sprintf ("SELECT source, h_occurrence FROM %s WHERE " + ^^ "REGEXP(h_occurrence, '^%s[^/]*$')") obj_tbl buri + (* implementation with vanilla ocaml-sqlite3 HLog.debug "Warning SELECT without REGEXP"; - sprintf - ("SELECT source, h_occurrence FROM %s WHERE " ^^ - "h_occurrence LIKE '%s%%'") - obj_tbl buri - end + sprintf + ("SELECT source, h_occurrence FROM %s WHERE " ^^ + "h_occurrence LIKE '%s%%' " ^^ HSql.escape_string_for_like) + obj_tbl buri*) + end in try let rc = HSql.exec (LibraryDb.instance ()) query in @@ -94,11 +97,15 @@ let db_uris_of_baseuri buri = ^^ "source REGEXP '^%s[^/]*$'") obj_tbl buri else begin + sprintf ("SELECT source FROM %s WHERE " + ^^ "REGEXP(source, '^%s[^/]*$')") obj_tbl buri + (* implementation with vanilla ocaml-sqlite3 HLog.debug "Warning SELECT without REGEXP"; sprintf ("SELECT source, h_occurrence FROM %s WHERE " ^^ - "h_occurrence LIKE '%s%%'") + "h_occurrence LIKE '%s%%' " ^^ HSql.escape_string_for_like) obj_tbl buri + *) end in try