artifact_id;status_id;status_name;priority;submitter_id;submitter_name;assigned_to_id;assigned_to_name;open_date;close_date;last_modified_date;summary;details;"Hardware";"Product";"Operating System";"Component";"Version";"Severity";"Resolution";"URL"
919;1;"Open";3;102;"Sylvain Le Gall";146;"Gabriel Scherer";"2011-02-21 10:55";"";"2011-02-21 11:07";"Unable to compile macaque, interface query mismatch";"Here is the output:

gildor@yotta(sid-amd64/chroot):~/tmp/macaque/src$ make
ocamlbuild -tag annot macaque.cma
Finished, 1 target (0 cached) in 00:00:00.
+ ocamlfind ocamlc -c -annot -package pgocaml -o query.cmo query.ml
File ""query.ml"", line 1, characters 0-1:
Error: The implementation query.ml does not match the interface query.cmi:
       Modules do not match:
         sig
...
           val bind : 'a monad -> ('a -> 'b monad) -> 'b monad
           val return : 'a -> 'a monad
         end
       The field `Simple_thread' is required but not provided
Command exited with code 2.
Compilation unsuccessful after building 31 targets (0 cached) in 00:00:02.
make: *** [macaque.cma] Erreur 10

I use OCaml 3.11.2 and calendar 2.01.1, lwt 2.1.1, pgocaml 1.4.

Cheers
Sylvain";"None";"None";"All";"None";"None";"None";"Fixed";""
955;1;"Open";3;294;"Philippe Veber";100;"Nobody";"2011-04-19 13:10";"";"2011-04-19 15:51";"Quotes in strings passed to postgresql";"Simple quotes in strings passed to the posgresql server should be properly escaped. Otherwise this leads to incorrect queries. Here is a simple example :

# let t = <:table<t (id text) >>;;
val t :
  (< id : < get : unit; nul : Sql.nullable; t : Sql.string_t > Sql.t >,
   <  > Sql.writable)
  Sql.view = <abstr>
# Sql.sql_of_query (<:insert< $t$ := { id = ""a'a"" } |  >>)
  ;;
- : string = ""INSERT INTO t ((SELECT 'a'a' AS id))""

The solution is given in the manual, see http://www.postgresql.org/docs/8.2/static/sql-syntax-lexical.html, section 4.2.1.2

A string constant in SQL is an arbitrary sequence of characters bounded by single quotes ('), for example 'This is a string'. To include a single-quote character within a string constant, write two adjacent single quotes, e.g. 'Dianne''s horse'. Note that this is not the same as a double-quote character (""). 

";"All";"None";"All";"None";"v1.1";"major";"None";""
1207;1;"Open";3;7847;"Jacques-Pascal Deplaix";100;"Nobody";"2012-08-24 17:07";"";"2012-08-24 17:07";"View + max raise an unexpected exception when the table is empty";"For the following test case, the following exception is raised when the table is empty:
Failure(""Parser error [Failure(\""int_of_string\"")] on input 0 [NULL]"")

Test case:
let test = (<:table< test (
    rank integer NOT NULL DEFAULT(1)
) >>)

Query.view db (<:view< group {
    rank = max[c.rank]
} | c in $test$ >>)";"None";"None";"Linux";"None";"None";"critical";"None";""