{"push_id":911323647,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"eeeef2d9895a3beadb223f3da3a6678dc7cdd4db","before":"a7d83509b7ac9b2d01e0d70341be768c74c1e090","commits":[{"sha":"eeeef2d9895a3beadb223f3da3a6678dc7cdd4db","author":{"email":"186154712b2d5f6791d85b9a0987b98fa231779c@fb.com","name":"Yang Yang"},"message":"Add support for SQL binary literals\n\nThis change adds binary literals without support for embedded separators. The type\nof a binary literal is VARBINARY.\n\nNo spaces are allowed between the X and the single quote. In our grammar, such sequence\nparses successfully as a \"generic literal\". We expect this to be a common mistake, so we\nintroduce a check to prevent construction of a generic literal with type X and provide\na clarifying error message.\n\nFrom the SQL spec:\n\n<binary string literal> ::=\n    X <quote> [ <space>... ] [ { <hexit> [ <space>... ] <hexit> [ <space>... ] }... ] <quote>\n      [ { <separator> <quote> [ <space>... ]\n        [ { <hexit> [ <space>... ]  <hexit> [ <space>... ] }... ] <quote> }... ]\n\n<hexit> ::=\n    <digit> | A | B | C | D | E | F | a | b | c | d | e | f\n\nAdditionally:\n\n1) The sequence\n\n   <quote> [ <space>... ] { <hexit> [ <space>... ] <hexit> [ <space>... ] }... <quote>\n\n   is equivalent to the sequence\n\n   <quote> { <hexit> <hexit> }... <quote>\n\n2) The sequence\n\n   <quote> { <hexit> <hexit> }... <quote> <separator>\n   <quote> { <hexit> <hexit> }... <quote>\n\n   is equivalent to the sequence\n\n   <quote> { <hexit> <hexit> }... { <hexit> <hexit> }... <quote>\n\n3) The introductory 'X' may be represented either in upper case (as 'X') or in lower\n   case (as 'x').\n\n4) It is implementation-defined whether the declared type of a binary string literal is a\n   fixed-length binary string type, a variable-length binary string type, or a binary large\n   object string type.","distinct":true,"url":"https://api.github.com/repos/EvilMcJerkface/presto/commits/eeeef2d9895a3beadb223f3da3a6678dc7cdd4db"}]}