# # patch "database.ml" # from [8780430618c59117d5bc7904d1bd61962c3cc64c] # to [90b37e10fe620841c457fe01d5232557bc4c61a1] # ======================================================================== --- database.ml 8780430618c59117d5bc7904d1bd61962c3cc64c +++ database.ml 90b37e10fe620841c457fe01d5232557bc4c61a1 @@ -154,15 +154,21 @@ agraph | _ -> (* we need another database query *) - Sqlite3.fetch_f db - process_branching_edge_row agraph - "SELECT A.parent, A.child \ - FROM revision_ancestry AS A, revision_certs AS C, revision_certs AS P \ - WHERE (C.id IN %s OR P.id IN %s) AND \ - C.id = A.child AND P.id = A.parent AND \ - C.name = 'branch' AND P.name = 'branch' AND \ - C.value != P.value" - view_name view_name + (* unfortunaltely, it doesn't seem to work with + the new sqlite query optimizer *) + let v = Sqlite3.version () in + if "3.2.3" <= v && v <= "3.2.5" + then agraph + else + Sqlite3.fetch_f db + process_branching_edge_row agraph + "SELECT A.parent, A.child \ + FROM revision_ancestry AS A, revision_certs AS C, revision_certs AS P \ + WHERE (C.id IN %s OR P.id IN %s) AND \ + C.id = A.child AND P.id = A.parent AND \ + C.name = 'branch' AND P.name = 'branch' AND \ + C.value != P.value" + view_name view_name end in (* reconnect disconnected components *)