# # # patch "database.ml" # from [ed9278cbb1ee9179bb761ae8e21ebf91b1f13811] # to [b9c911fa689847ee7c467725095a07dc0ad28ac5] # ============================================================ --- database.ml ed9278cbb1ee9179bb761ae8e21ebf91b1f13811 +++ database.ml b9c911fa689847ee7c467725095a07dc0ad28ac5 @@ -183,7 +183,7 @@ stmt -let collect_tags db nodes = +let collect_tags db base64 nodes = let stmt = Sqlite3.prepare_one db "SELECT value FROM revision_certs WHERE id = ? AND name = 'tag'" in NodeMap.fold @@ -192,14 +192,15 @@ Sqlite3.bind stmt 1 (`TEXT id) ; Sqlite3.fold_rows (fun m stmt -> - let v = Sqlite3.column_text stmt 0 in + let r = Sqlite3.column_blob stmt 0 in + let v = may_decode base64 r in NodeMap.add id { node with kind = TAGGED v } m) m stmt) nodes nodes -let fetch_agraph_with_view db (query, query_limit) = +let fetch_agraph_with_view db base64 (query, query_limit) = let view_name_limit = if query_limit <> QUERY_NO_LIMIT then view_name_limit @@ -231,7 +232,7 @@ (* get tags *) let agraph = - { agraph with nodes = collect_tags db agraph.nodes } in + { agraph with nodes = collect_tags db base64 agraph.nodes } in (* determine the branching edges *) let agraph = @@ -321,7 +322,7 @@ Sqlite3.exec_f db "CREATE INDEX %s__id ON %s (id)" view_name_limit view_name_limit end) - ~action:(fun () -> f db query) + ~action:(fun () -> f db base64 query) ~after:(fun () -> if query_limit <> QUERY_NO_LIMIT then begin