12 lines
526 B
OCaml
12 lines
526 B
OCaml
open Ast
|
|
|
|
let parse query =
|
|
let lexbuf = Lexing.from_string query in
|
|
Parser.main Lexer.read_token lexbuf
|
|
|
|
let () =
|
|
assert(parse "SELECT ab FROM b1" = Query(Select([Column("ab")], [Table "b1"])));
|
|
assert(parse "SELECT * FROM b1" = Query(Select([Asterisk], [Table "b1"])));
|
|
assert(parse "SELECT * FROM t1 CROSS JOIN t2" = Query(Select([Asterisk], [Join(Table("t1"), Cross, Table("t2"))])));
|
|
assert(parse "SELECT * FROM t1 JOIN t2 ON a = b" = Query(Select([Asterisk], [Join(Table("t1"), Left, Table("t2"))])));
|