#   Copyright 2011-2015 Quickstep Technologies LLC.
#   Copyright 2015 Pivotal Software, Inc.
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.

SELECT * FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectStar
  +-from_clause=
    +-TableReference[table=test]
==

# If the error location is beyond the end of the SQL,
# we point the error to the place next to the last character.
SELECT *
--
ERROR: syntax error (1 : 9)
SELECT *
        ^
==

SELECT *;
--
ERROR: syntax error (1 : 9)
SELECT *;
        ^
==

SELECT $attr FROM test
--
ERROR: illegal character (1 : 9)
SELECT $attr FROM test
        ^
==

SELECT 1 "" FROM test
--
ERROR: Zero-length identifier (1 : 11)
SELECT 1 "" FROM test
          ^
==

SELECT 1 FROM test AS ""
--
ERROR: Zero-length identifier (1 : 24)
SELECT 1 FROM test AS ""
                       ^
==

SELECT attr FROM $test
--
ERROR: illegal character (1 : 19)
SELECT attr FROM $test
                  ^
==

SELECT FROM test
--
ERROR: syntax error (1 : 8)
SELECT FROM test
       ^
==

SELECT attr1
--
ERROR: syntax error (1 : 13)
SELECT attr1
            ^
==

SELECT 1, 2, 3, 4
--
ERROR: syntax error (1 : 18)
SELECT 1, 2, 3, 4
                 ^
==

SELECT 1, 2, 1+1, 1-1, 1-1.2+1-2.3, attr1, attr2, attr1+1, attr1+1*2+attr2, attr1+1*(2+attr2) FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=1,float_like=false]
  | +-SelectListItem
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=2,float_like=false]
  | +-SelectListItem
  | | +-Add
  | |   +-left_operand=Literal
  | |   | +-NumericLiteral[numeric_string=1,float_like=false]
  | |   +-right_operand=Literal
  | |     +-NumericLiteral[numeric_string=1,float_like=false]
  | +-SelectListItem
  | | +-Subtract
  | |   +-left_operand=Literal
  | |   | +-NumericLiteral[numeric_string=1,float_like=false]
  | |   +-right_operand=Literal
  | |     +-NumericLiteral[numeric_string=1,float_like=false]
  | +-SelectListItem
  | | +-Subtract
  | |   +-left_operand=Add
  | |   | +-left_operand=Subtract
  | |   | | +-left_operand=Literal
  | |   | | | +-NumericLiteral[numeric_string=1,float_like=false]
  | |   | | +-right_operand=Literal
  | |   | |   +-NumericLiteral[numeric_string=1.2,float_like=true]
  | |   | +-right_operand=Literal
  | |   |   +-NumericLiteral[numeric_string=1,float_like=false]
  | |   +-right_operand=Literal
  | |     +-NumericLiteral[numeric_string=2.3,float_like=true]
  | +-SelectListItem
  | | +-AttributeReference[attribute_name=attr1]
  | +-SelectListItem
  | | +-AttributeReference[attribute_name=attr2]
  | +-SelectListItem
  | | +-Add
  | |   +-left_operand=AttributeReference[attribute_name=attr1]
  | |   +-right_operand=Literal
  | |     +-NumericLiteral[numeric_string=1,float_like=false]
  | +-SelectListItem
  | | +-Add
  | |   +-left_operand=Add
  | |   | +-left_operand=AttributeReference[attribute_name=attr1]
  | |   | +-right_operand=Multiply
  | |   |   +-left_operand=Literal
  | |   |   | +-NumericLiteral[numeric_string=1,float_like=false]
  | |   |   +-right_operand=Literal
  | |   |     +-NumericLiteral[numeric_string=2,float_like=false]
  | |   +-right_operand=AttributeReference[attribute_name=attr2]
  | +-SelectListItem
  |   +-Add
  |     +-left_operand=AttributeReference[attribute_name=attr1]
  |     +-right_operand=Multiply
  |       +-left_operand=Literal
  |       | +-NumericLiteral[numeric_string=1,float_like=false]
  |       +-right_operand=Add
  |         +-left_operand=Literal
  |         | +-NumericLiteral[numeric_string=2,float_like=false]
  |         +-right_operand=AttributeReference[attribute_name=attr2]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT * FROM 123
--
ERROR: syntax error (1 : 15)
SELECT * FROM 123
              ^
==

# Alias
SELECT 1 AS a, 2+1 AS b, 3 a, 4 b FROM test AS a, test a
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem[alias=a]
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=1,float_like=false]
  | +-SelectListItem[alias=b]
  | | +-Add
  | |   +-left_operand=Literal
  | |   | +-NumericLiteral[numeric_string=2,float_like=false]
  | |   +-right_operand=Literal
  | |     +-NumericLiteral[numeric_string=1,float_like=false]
  | +-SelectListItem[alias=a]
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=3,float_like=false]
  | +-SelectListItem[alias=b]
  |   +-Literal
  |     +-NumericLiteral[numeric_string=4,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
    | +-table_signature=TableSignature[table_alias=a]
    +-TableReference[table=test]
      +-table_signature=TableSignature[table_alias=a]
==

# Column list aliases in FROM.
SELECT 1 FROM test test_alias(attr, attr1, attr2, attr3), (SELECT * FROM test) AS subquery(attr1, attr1, attr4)
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Literal
  |     +-NumericLiteral[numeric_string=1,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
    | +-table_signature=TableSignature[table_alias=test_alias,
    |   columns=(attr, attr1, attr2, attr3)]
    +-SubqueryTable
      +-table_signature=TableSignature[table_alias=subquery,
      | columns=(attr1, attr1, attr4)]
      +-SubqueryExpression
        +-Select
          +-select_clause=SelectStar
          +-from_clause=
            +-TableReference[table=test]
==

# Table subquery must be named.
SELECT 1 FROM (select * FROM test)
--
ERROR: syntax error (1 : 35)
SELECT 1 FROM (select * FROM test)
                                  ^
==

SELECT 1 FROM test test_alias(attr+1)
--
ERROR: syntax error (1 : 35)
SELECT 1 FROM test test_alias(attr+1)
                                  ^
==

SELECT 1 FROM test AS
--
ERROR: syntax error (1 : 22)
SELECT 1 FROM test AS
                     ^
==

SELECT 1 AS a+1 FROM test
--
ERROR: syntax error (1 : 14)
SELECT 1 AS a+1 FROM test
             ^
==

SELECT 1 FROM test AS a+1
--
ERROR: syntax error (1 : 24)
SELECT 1 FROM test AS a+1
                       ^
==

SELECT 1 FROM test WHERE 1=1 AND attr1=1 AND attr+1>=1 AND attr-1<=1 AND attr+1>1 AND attr-1<1
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Literal
  |     +-NumericLiteral[numeric_string=1,float_like=false]
  +-where_clause=And
  | +-Equal
  | | +-left_operand=Literal
  | | | +-NumericLiteral[numeric_string=1,float_like=false]
  | | +-right_operand=Literal
  | |   +-NumericLiteral[numeric_string=1,float_like=false]
  | +-Equal
  | | +-left_operand=AttributeReference[attribute_name=attr1]
  | | +-right_operand=Literal
  | |   +-NumericLiteral[numeric_string=1,float_like=false]
  | +-GreaterOrEqual
  | | +-left_operand=Add
  | | | +-left_operand=AttributeReference[attribute_name=attr]
  | | | +-right_operand=Literal
  | | |   +-NumericLiteral[numeric_string=1,float_like=false]
  | | +-right_operand=Literal
  | |   +-NumericLiteral[numeric_string=1,float_like=false]
  | +-LessOrEqual
  | | +-left_operand=Subtract
  | | | +-left_operand=AttributeReference[attribute_name=attr]
  | | | +-right_operand=Literal
  | | |   +-NumericLiteral[numeric_string=1,float_like=false]
  | | +-right_operand=Literal
  | |   +-NumericLiteral[numeric_string=1,float_like=false]
  | +-Greater
  | | +-left_operand=Add
  | | | +-left_operand=AttributeReference[attribute_name=attr]
  | | | +-right_operand=Literal
  | | |   +-NumericLiteral[numeric_string=1,float_like=false]
  | | +-right_operand=Literal
  | |   +-NumericLiteral[numeric_string=1,float_like=false]
  | +-Less
  |   +-left_operand=Subtract
  |   | +-left_operand=AttributeReference[attribute_name=attr]
  |   | +-right_operand=Literal
  |   |   +-NumericLiteral[numeric_string=1,float_like=false]
  |   +-right_operand=Literal
  |     +-NumericLiteral[numeric_string=1,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT 1 FROM test WHERE attr BETWEEN 1 AND 2 AND attr BETWEEN 2 AND 1
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Literal
  |     +-NumericLiteral[numeric_string=1,float_like=false]
  +-where_clause=And
  | +-Between
  | | +-check_operand=AttributeReference[attribute_name=attr]
  | | +-lower_bound_operand=Literal
  | | | +-NumericLiteral[numeric_string=1,float_like=false]
  | | +-upper_bound_operand=Literal
  | |   +-NumericLiteral[numeric_string=2,float_like=false]
  | +-Between
  |   +-check_operand=AttributeReference[attribute_name=attr]
  |   +-lower_bound_operand=Literal
  |   | +-NumericLiteral[numeric_string=2,float_like=false]
  |   +-upper_bound_operand=Literal
  |     +-NumericLiteral[numeric_string=1,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT 1 FROM test WHERE attr NOT BETWEEN 1 AND 2
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Literal
  |     +-NumericLiteral[numeric_string=1,float_like=false]
  +-where_clause=Not
  | +-Between
  |   +-check_operand=AttributeReference[attribute_name=attr]
  |   +-lower_bound_operand=Literal
  |   | +-NumericLiteral[numeric_string=1,float_like=false]
  |   +-upper_bound_operand=Literal
  |     +-NumericLiteral[numeric_string=2,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT 1 FROM test ORDER BY attr, 1
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Literal
  |     +-NumericLiteral[numeric_string=1,float_like=false]
  +-order_by=OrderBy
  | +-OrderByItem[is_asc=true,nulls_first=false]
  | | +-AttributeReference[attribute_name=attr]
  | +-OrderByItem[is_asc=true,nulls_first=false]
  |   +-Literal
  |     +-NumericLiteral[numeric_string=1,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT fun(attr)+1 FROM test GROUP BY fun()+fun(attr), attr1+attr2 HAVING attr1>1 AND fun(*)>1
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Add
  |     +-left_operand=FunctionCall[name=fun]
  |     | +-AttributeReference[attribute_name=attr]
  |     +-right_operand=Literal
  |       +-NumericLiteral[numeric_string=1,float_like=false]
  +-group_by=GroupBy
  | +-Add
  | | +-left_operand=FunctionCall[name=fun]
  | | +-right_operand=FunctionCall[name=fun]
  | |   +-AttributeReference[attribute_name=attr]
  | +-Add
  |   +-left_operand=AttributeReference[attribute_name=attr1]
  |   +-right_operand=AttributeReference[attribute_name=attr2]
  +-having=HAVING
  | +-And
  |   +-Greater
  |   | +-left_operand=AttributeReference[attribute_name=attr1]
  |   | +-right_operand=Literal
  |   |   +-NumericLiteral[numeric_string=1,float_like=false]
  |   +-Greater
  |     +-left_operand=FunctionCall[name=fun,is_star=true]
  |     +-right_operand=Literal
  |       +-NumericLiteral[numeric_string=1,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

# ORDER BY
SELECT 1 FROM test ORDER BY 1 ASC,
                            2 DESC,
                            3 ASC NULLS FIRST,
                            attr1 DESC NULLS LAST,
                            attr1+1 NULLS FIRST,
                            fun(attr)/2
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Literal
  |     +-NumericLiteral[numeric_string=1,float_like=false]
  +-order_by=OrderBy
  | +-OrderByItem[is_asc=true,nulls_first=false]
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=1,float_like=false]
  | +-OrderByItem[is_asc=false,nulls_first=true]
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=2,float_like=false]
  | +-OrderByItem[is_asc=true,nulls_first=true]
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=3,float_like=false]
  | +-OrderByItem[is_asc=false,nulls_first=false]
  | | +-AttributeReference[attribute_name=attr1]
  | +-OrderByItem[is_asc=true,nulls_first=true]
  | | +-Add
  | |   +-left_operand=AttributeReference[attribute_name=attr1]
  | |   +-right_operand=Literal
  | |     +-NumericLiteral[numeric_string=1,float_like=false]
  | +-OrderByItem[is_asc=true,nulls_first=false]
  |   +-Divide
  |     +-left_operand=FunctionCall[name=fun]
  |     | +-AttributeReference[attribute_name=attr]
  |     +-right_operand=Literal
  |       +-NumericLiteral[numeric_string=2,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

# Limit
SELECT 1 FROM test LIMIT 1
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Literal
  |     +-NumericLiteral[numeric_string=1,float_like=false]
  +-limit=LIMIT
  | +-NumericLiteral[numeric_string=1,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT 1 FROM test LIMIT 1.1
--
ERROR: LIMIT value must be an integer (1 : 26)
SELECT 1 FROM test LIMIT 1.1
                         ^
==

SELECT 1 FROM test LIMIT 0
--
ERROR: LIMIT value must be positive (1 : 26)
SELECT 1 FROM test LIMIT 0
                         ^
==

SELECT 1 FROM test LIMIT -1
--
ERROR: syntax error (1 : 26)
SELECT 1 FROM test LIMIT -1
                         ^
==

SELECT 1 FROM test LIMIT abc
--
ERROR: syntax error (1 : 26)
SELECT 1 FROM test LIMIT abc
                         ^
==

#
# Subqueries
#

# Subqueries in the FROM clause.
SELECT * FROM test, (select * FROM test) AS a, (select * FROM test) a
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectStar
  +-from_clause=
    +-TableReference[table=test]
    +-SubqueryTable
    | +-table_signature=TableSignature[table_alias=a]
    | +-SubqueryExpression
    |   +-Select
    |     +-select_clause=SelectStar
    |     +-from_clause=
    |       +-TableReference[table=test]
    +-SubqueryTable
      +-table_signature=TableSignature[table_alias=a]
      +-SubqueryExpression
        +-Select
          +-select_clause=SelectStar
          +-from_clause=
            +-TableReference[table=test]
==

SELECT * FROM test, SELECT * FROM test
--
ERROR: syntax error (1 : 21)
SELECT * FROM test, SELECT * FROM test
                    ^
==

SELECT * FROM (select * FROM (select * FROM (select * FROM test) a ) a ) a
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectStar
  +-from_clause=
    +-SubqueryTable
      +-table_signature=TableSignature[table_alias=a]
      +-SubqueryExpression
        +-Select
          +-select_clause=SelectStar
          +-from_clause=
            +-SubqueryTable
              +-table_signature=TableSignature[table_alias=a]
              +-SubqueryExpression
                +-Select
                  +-select_clause=SelectStar
                  +-from_clause=
                    +-SubqueryTable
                      +-table_signature=TableSignature[table_alias=a]
                      +-SubqueryExpression
                        +-Select
                          +-select_clause=SelectStar
                          +-from_clause=
                            +-TableReference[table=test]
==

# Subqueries are not supported yet in clauses other than the FROM clause.
SELECT (select * FROM test) FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-SubqueryExpression
  |     +-Select
  |       +-select_clause=SelectStar
  |       +-from_clause=
  |         +-TableReference[table=test]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT 1 FROM test WHERE 1 > (select 1 FROM test)
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Literal
  |     +-NumericLiteral[numeric_string=1,float_like=false]
  +-where_clause=Greater
  | +-left_operand=Literal
  | | +-NumericLiteral[numeric_string=1,float_like=false]
  | +-right_operand=SubqueryExpression
  |   +-Select
  |     +-select_clause=SelectList
  |     | +-SelectListItem
  |     |   +-Literal
  |     |     +-NumericLiteral[numeric_string=1,float_like=false]
  |     +-from_clause=
  |       +-TableReference[table=test]
  +-from_clause=
    +-TableReference[table=test]
==

#
# WITH clause
#
WITH a (col) AS (SELECT 1 FROM test GROUP BY a ORDER BY b LIMIT 1),
     b (col1, col2, col3) AS (SELECT * FROM (SELECT * FROM test) a),
     c AS (SELECT 1 FROM test)
SELECT 1 FROM a, b, c, d
--
SelectStatement
+-select_query=Select
| +-select_clause=SelectList
| | +-SelectListItem
| |   +-Literal
| |     +-NumericLiteral[numeric_string=1,float_like=false]
| +-from_clause=
|   +-TableReference[table=a]
|   +-TableReference[table=b]
|   +-TableReference[table=c]
|   +-TableReference[table=d]
+-with_clause=
  +-SubqueryTable
  | +-table_signature=TableSignature[table_alias=a,columns=(col)]
  | +-SubqueryExpression
  |   +-Select
  |     +-select_clause=SelectList
  |     | +-SelectListItem
  |     |   +-Literal
  |     |     +-NumericLiteral[numeric_string=1,float_like=false]
  |     +-group_by=GroupBy
  |     | +-AttributeReference[attribute_name=a]
  |     +-order_by=OrderBy
  |     | +-OrderByItem[is_asc=true,nulls_first=false]
  |     |   +-AttributeReference[attribute_name=b]
  |     +-limit=LIMIT
  |     | +-NumericLiteral[numeric_string=1,float_like=false]
  |     +-from_clause=
  |       +-TableReference[table=test]
  +-SubqueryTable
  | +-table_signature=TableSignature[table_alias=b,columns=(col1, col2, col3)]
  | +-SubqueryExpression
  |   +-Select
  |     +-select_clause=SelectStar
  |     +-from_clause=
  |       +-SubqueryTable
  |         +-table_signature=TableSignature[table_alias=a]
  |         +-SubqueryExpression
  |           +-Select
  |             +-select_clause=SelectStar
  |             +-from_clause=
  |               +-TableReference[table=test]
  +-SubqueryTable
    +-table_signature=TableSignature[table_alias=c]
    +-SubqueryExpression
      +-Select
        +-select_clause=SelectList
        | +-SelectListItem
        |   +-Literal
        |     +-NumericLiteral[numeric_string=1,float_like=false]
        +-from_clause=
          +-TableReference[table=test]
==

WITH a AS (SELECT 1 FROM test)
SELECT 1 FROM a
--
SelectStatement
+-select_query=Select
| +-select_clause=SelectList
| | +-SelectListItem
| |   +-Literal
| |     +-NumericLiteral[numeric_string=1,float_like=false]
| +-from_clause=
|   +-TableReference[table=a]
+-with_clause=
  +-SubqueryTable
    +-table_signature=TableSignature[table_alias=a]
    +-SubqueryExpression
      +-Select
        +-select_clause=SelectList
        | +-SelectListItem
        |   +-Literal
        |     +-NumericLiteral[numeric_string=1,float_like=false]
        +-from_clause=
          +-TableReference[table=test]
==

# AS cannot be omitted.
WITH a (SELECT 1 FROM test)
SELECT 1 FROM a
--
ERROR: syntax error (1 : 9)
WITH a (SELECT 1 FROM test)
        ^
==

WITH a AS (SELECT 1 FROM test)
--
ERROR: syntax error (1 : 31)
WITH a AS (SELECT 1 FROM test)
                              ^
==

# The WITH query cannot have WITH.
WITH a AS (with c SELECT 1 FROM test)
SELECT 1 FROM test
--
ERROR: syntax error (1 : 12)
WITH a AS (with c SELECT 1 FROM test)
           ^
==

WITH a AS (select 1 FROM test) b
SELECT 1 FROM test
--
ERROR: syntax error (1 : 32)
WITH a AS (select 1 FROM test) b
                               ^
==

# Missing comma.
SELECT a AS (select 1 FROM test) b AS (SELECT 1 FROM test)
SELECT 1 FROM test
--
ERROR: syntax error (1 : 13)
SELECT a AS (select 1 FROM test) b AS (SELEC...
            ^
==

#
# Literal values and types.
#

# Bool literal value is not supported yet.
SELECT 1 FROM test WHERE TRUE
--
ERROR: syntax error (1 : 26)
SELECT 1 FROM test WHERE TRUE
                         ^
==

SELECT 1 FROM test WHERE tb1 = TRUE
--
ERROR: syntax error (1 : 32)
SELECT 1 FROM test WHERE tb1 = TRUE
                               ^
==

# FIXME(chasseur, qzeng): The result is wrong. Add support for hexadecimal literals.
SELECT 0xfff FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem[alias=xfff]
  |   +-Literal
  |     +-NumericLiteral[numeric_string=0,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT x'fff' FROM test
--
ERROR: syntax error (1 : 13)
SELECT x'fff' FROM test
            ^
==

SELECT 123e23, 123e-123, 123e-2+1, 123e-2*2, 123e-123,
       1e100000000
FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=123e23,float_like=true]
  | +-SelectListItem
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=123e-123,float_like=true]
  | +-SelectListItem
  | | +-Add
  | |   +-left_operand=Literal
  | |   | +-NumericLiteral[numeric_string=123e-2,float_like=true]
  | |   +-right_operand=Literal
  | |     +-NumericLiteral[numeric_string=1,float_like=false]
  | +-SelectListItem
  | | +-Multiply
  | |   +-left_operand=Literal
  | |   | +-NumericLiteral[numeric_string=123e-2,float_like=true]
  | |   +-right_operand=Literal
  | |     +-NumericLiteral[numeric_string=2,float_like=false]
  | +-SelectListItem
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=123e-123,float_like=true]
  | +-SelectListItem
  |   +-Literal
  |     +-NumericLiteral[numeric_string=1e100000000,float_like=true]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT 9223372036854775805, 9223372036854775807, 9223372036854775809, -9223372036854775805,
       -9223372036854775807, -9223372036854775809, 9223372036854775800.8, 1.123456789012345678901234567890,
       -9223372036854775800.8, -1.123456789012345678901234567890
FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=9223372036854775805,float_like=false]
  | +-SelectListItem
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=9223372036854775807,float_like=false]
  | +-SelectListItem
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=9223372036854775809,float_like=false]
  | +-SelectListItem
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=-9223372036854775805,float_like=false]
  | +-SelectListItem
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=-9223372036854775807,float_like=false]
  | +-SelectListItem
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=-9223372036854775809,float_like=false]
  | +-SelectListItem
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=9223372036854775800.8,float_like=true]
  | +-SelectListItem
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=1.123456789012345678901234567890,
  | |     float_like=true]
  | +-SelectListItem
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=-9223372036854775800.8,float_like=true]
  | +-SelectListItem
  |   +-Literal
  |     +-NumericLiteral[numeric_string=-1.123456789012345678901234567890,
  |       float_like=true]
  +-from_clause=
    +-TableReference[table=test]
==

# Escape characters.
SELECT 1, e'$asdfg\'\'\"\"\t\r\n' FROM test WHERE char_col = e'\'asdfg\''
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=1,float_like=false]
  | +-SelectListItem
  |   +-Literal
  |     +-StringLiteral[value=$asdfg''""	
]
  +-where_clause=Equal
  | +-left_operand=AttributeReference[attribute_name=char_col]
  | +-right_operand=Literal
  |   +-StringLiteral[value='asdfg']
  +-from_clause=
    +-TableReference[table=test]
==

# Double-quoted strings are identifiers, which do not need to be escaped.
SELECT 1 "abc\n" FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem[alias=abc\n]
  |   +-Literal
  |     +-NumericLiteral[numeric_string=1,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT 1 "abc

def
" FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem[alias=abc

def
]
  |   +-Literal
  |     +-NumericLiteral[numeric_string=1,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

# Currently predicate is not treated as a regular scalar expression.
SELECT 1 FROM test WHERE (1>1)=(1<1)
--
ERROR: syntax error (1 : 31)
SELECT 1 FROM test WHERE (1>1)=(1<1)
                              ^
==

SELECT 1 """this IS a double-quoted string""", 2 "this IS NOT a double-quoted string" FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem[alias="this IS a double-quoted string"]
  | | +-Literal
  | |   +-NumericLiteral[numeric_string=1,float_like=false]
  | +-SelectListItem[alias=this IS NOT a double-quoted string]
  |   +-Literal
  |     +-NumericLiteral[numeric_string=2,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

#
# DateTime and Interval
#

SELECT '1998-12-01',
       DATE '1998-12-01'
FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1998-12-01]
  | +-SelectListItem
  |   +-Literal
  |     +-StringLiteral[value=1998-12-01,explicit_type=Datetime]
  +-from_clause=
    +-TableReference[table=test]
==

# Year before 1970.
SELECT DATE '1960-12-12',
       DATE '1901-12-14' FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1960-12-12,explicit_type=Datetime]
  | +-SelectListItem
  |   +-Literal
  |     +-StringLiteral[value=1901-12-14,explicit_type=Datetime]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT DATE '1998-2-12', DATE '1998-12-2' FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1998-2-12,explicit_type=Datetime]
  | +-SelectListItem
  |   +-Literal
  |     +-StringLiteral[value=1998-12-2,explicit_type=Datetime]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT DATE '+1921-12-12',
       DATE '+10001-12-12'
FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=+1921-12-12,explicit_type=Datetime]
  | +-SelectListItem
  |   +-Literal
  |     +-StringLiteral[value=+10001-12-12,explicit_type=Datetime]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT DATE 'a1998-12-12' FROM test
--
ERROR: Failed to parse literal as specified type (1 : 25)
SELECT DATE 'a1998-12-12' FROM test
                        ^
==

SELECT DATE '1998-a12-b12' FROM test
--
ERROR: Failed to parse literal as specified type (1 : 26)
SELECT DATE '1998-a12-b12' FROM test
                         ^
==

SELECT DATE '1998-+12-12' FROM test
--
ERROR: Failed to parse literal as specified type (1 : 25)
SELECT DATE '1998-+12-12' FROM test
                        ^
==

SELECT DATE '1998-12-12abc' FROM test
--
ERROR: Failed to parse literal as specified type (1 : 27)
SELECT DATE '1998-12-12abc' FROM test
                          ^
==

SELECT DATE '1998/12/12' FROM test
--
ERROR: Failed to parse literal as specified type (1 : 24)
SELECT DATE '1998/12/12' FROM test
                       ^
==

SELECT DATE '1996-02-29',
       DATE '1997-03-31',
       DATE '1998-04-30' FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1996-02-29,explicit_type=Datetime]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1997-03-31,explicit_type=Datetime]
  | +-SelectListItem
  |   +-Literal
  |     +-StringLiteral[value=1998-04-30,explicit_type=Datetime]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT DATE '1999-02-29' FROM test
--
ERROR: Failed to parse literal as specified type (1 : 24)
SELECT DATE '1999-02-29' FROM test
                       ^
==

# Quickstep accepts time in the DATE type.
SELECT DATE '2007-05-08 12:35:29',
       DATE '2007-05-08 12:35:29.010'
FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=2007-05-08 12:35:29,explicit_type=Datetime]
  | +-SelectListItem
  |   +-Literal
  |     +-StringLiteral[value=2007-05-08 12:35:29.010,explicit_type=Datetime]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT DATE '1999-04-31' FROM test
--
ERROR: Failed to parse literal as specified type (1 : 24)
SELECT DATE '1999-04-31' FROM test
                       ^
==

SELECT 1 FROM test WHERE attr_date <= DATE '1998-12-01' - INTERVAL '96 day'
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Literal
  |     +-NumericLiteral[numeric_string=1,float_like=false]
  +-where_clause=LessOrEqual
  | +-left_operand=AttributeReference[attribute_name=attr_date]
  | +-right_operand=Subtract
  |   +-left_operand=Literal
  |   | +-StringLiteral[value=1998-12-01,explicit_type=Datetime]
  |   +-right_operand=Literal
  |     +-StringLiteral[value=96 day,explicit_type=DatetimeInterval]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT INTERVAL '1 us', INTERVAL '1 ms', INTERVAL '1 s', INTERVAL '1 minute',
           INTERVAL '1 h', INTERVAL '1 day', INTERVAL '1 week',
           INTERVAL '1 month', INTERVAL '1 year', INTERVAL '1 decade',
           INTERVAL '1 century', INTERVAL '1 millennium',
       DATETIME INTERVAL '1 us', DATETIME INTERVAL '1 ms',
           DATETIME INTERVAL '1 s', DATETIME INTERVAL '1 minute',
           DATETIME INTERVAL '1 h', DATETIME INTERVAL '1 day',
           DATETIME INTERVAL '1 week', YEARMONTH INTERVAL '1 month',
           YEARMONTH INTERVAL '1 year', YEARMONTH INTERVAL '1 decade',
           YEARMONTH INTERVAL '1 century', YEARMONTH INTERVAL '1 millennium'
FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 us,explicit_type=DatetimeInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 ms,explicit_type=DatetimeInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 s,explicit_type=DatetimeInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 minute,explicit_type=DatetimeInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 h,explicit_type=DatetimeInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 day,explicit_type=DatetimeInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 week,explicit_type=DatetimeInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 month,explicit_type=YearMonthInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 year,explicit_type=YearMonthInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 decade,explicit_type=YearMonthInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 century,explicit_type=YearMonthInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 millennium,explicit_type=YearMonthInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 us,explicit_type=DatetimeInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 ms,explicit_type=DatetimeInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 s,explicit_type=DatetimeInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 minute,explicit_type=DatetimeInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 h,explicit_type=DatetimeInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 day,explicit_type=DatetimeInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 week,explicit_type=DatetimeInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 month,explicit_type=YearMonthInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 year,explicit_type=YearMonthInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 decade,explicit_type=YearMonthInterval]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1 century,explicit_type=YearMonthInterval]
  | +-SelectListItem
  |   +-Literal
  |     +-StringLiteral[value=1 millennium,explicit_type=YearMonthInterval]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT INTERVAL '4 day' (1)
FROM test
--
ERROR: syntax error (1 : 25)
SELECT INTERVAL '4 day' (1)
                        ^
==

SELECT INTERVAL '2 moth' FROM test
--
ERROR: Failed to parse literal as specified type (1 : 24)
SELECT INTERVAL '2 moth' FROM test
                       ^
==

SELECT INTERVAL '-3 year' FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Literal
  |     +-StringLiteral[value=-3 year,explicit_type=YearMonthInterval]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT INTERVAL 'a 3 year' FROM test
--
ERROR: Failed to parse literal as specified type (1 : 26)
SELECT INTERVAL 'a 3 year' FROM test
                         ^
==

SELECT INTERVAL '5-3 year to month' FROM test
--
ERROR: Failed to parse literal as specified type (1 : 35)
SELECT INTERVAL '5-3 year to month' FROM test
                                  ^
==

SELECT INTERVAL '5-3 day to second' FROM test
--
ERROR: Failed to parse literal as specified type (1 : 35)
SELECT INTERVAL '5-3 day to second' FROM test
                                  ^
==

#
# Minus sign in arithmetic expressions is parsed as the subtraction
# or negation operation, not as the notation of a negative value.
#

SELECT 1-1 FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Subtract
  |     +-left_operand=Literal
  |     | +-NumericLiteral[numeric_string=1,float_like=false]
  |     +-right_operand=Literal
  |       +-NumericLiteral[numeric_string=1,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT 1 - 1 FROM test
--
[same as above]
==

SELECT 1--1 FROM test
--
ERROR: syntax error (1 : 22)
SELECT 1--1 FROM test
                     ^
==

SELECT 1+-1 FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Add
  |     +-left_operand=Literal
  |     | +-NumericLiteral[numeric_string=1,float_like=false]
  |     +-right_operand=Literal
  |       +-NumericLiteral[numeric_string=-1,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT 1-1+-1 FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Add
  |     +-left_operand=Subtract
  |     | +-left_operand=Literal
  |     | | +-NumericLiteral[numeric_string=1,float_like=false]
  |     | +-right_operand=Literal
  |     |   +-NumericLiteral[numeric_string=1,float_like=false]
  |     +-right_operand=Literal
  |       +-NumericLiteral[numeric_string=-1,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT 1+(-1) FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Add
  |     +-left_operand=Literal
  |     | +-NumericLiteral[numeric_string=1,float_like=false]
  |     +-right_operand=Literal
  |       +-NumericLiteral[numeric_string=-1,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

# Quit statement
QUIT
--
QuitStatement
==

# Literals with various explicit types.
SELECT INT '1', LONG '1', FLOAT '1', DOUBLE '1', char(42) 'foo', varchar(42) 'bar' FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1,explicit_type=Int]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1,explicit_type=Long]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1,explicit_type=Float]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=1,explicit_type=Double]
  | +-SelectListItem
  | | +-Literal
  | |   +-StringLiteral[value=foo,explicit_type=Char(42)]
  | +-SelectListItem
  |   +-Literal
  |     +-StringLiteral[value=bar,explicit_type=VarChar(42)]
  +-from_clause=
    +-TableReference[table=test]
==

# Value needs to be quoted when giving an explicit type.
SELECT INT 1 FROM test
--
ERROR: syntax error (1 : 12)
SELECT INT 1 FROM test
           ^
==

# Explicit type that can't parse the supplied string.
SELECT INT 'foo' FROM test
--
ERROR: Failed to parse literal as specified type (1 : 16)
SELECT INT 'foo' FROM test
               ^
==

# Various floats that, while not in the canonical print format, are still
# acceptable according to the SQL standard.
SELECT 1. FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Literal
  |     +-NumericLiteral[numeric_string=1.,float_like=true]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT .1 FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Literal
  |     +-NumericLiteral[numeric_string=.1,float_like=true]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT 1.e1 FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Literal
  |     +-NumericLiteral[numeric_string=1.e1,float_like=true]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT .1e1 FROM test
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-Literal
  |     +-NumericLiteral[numeric_string=.1e1,float_like=true]
  +-from_clause=
    +-TableReference[table=test]
==

# EXISTS subquery
SELECT i
FROM generate_series(0, 100, 3) AS gs1(i)
WHERE
  EXISTS (
    SELECT *
    FROM generate_series(0, 100, 5) AS gs2(i)
    WHERE gs1.i = gs2.i
  )
  AND NOT EXISTS (
    SELECT *
    FROM generate_series(0, 100, 10) AS gs3(i)
    WHERE gs1.i = gs3.i
  );
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-AttributeReference[attribute_name=i]
  +-where_clause=And
  | +-Exists
  | | +-subquery=SubqueryExpression
  | |   +-Select
  | |     +-select_clause=SelectStar
  | |     +-where_clause=Equal
  | |     | +-left_operand=AttributeReference[attribute_name=i,relation_name=gs1]
  | |     | +-right_operand=AttributeReference[attribute_name=i,
  | |     |   relation_name=gs2]
  | |     +-from_clause=
  | |       +-TableGenerator
  | |         +-FunctionCall[name=generate_series]
  | |           +-Literal
  | |           | +-NumericLiteral[numeric_string=0,float_like=false]
  | |           +-Literal
  | |           | +-NumericLiteral[numeric_string=100,float_like=false]
  | |           +-Literal
  | |             +-NumericLiteral[numeric_string=5,float_like=false]
  | +-Not
  |   +-Exists
  |     +-subquery=SubqueryExpression
  |       +-Select
  |         +-select_clause=SelectStar
  |         +-where_clause=Equal
  |         | +-left_operand=AttributeReference[attribute_name=i,
  |         | | relation_name=gs1]
  |         | +-right_operand=AttributeReference[attribute_name=i,
  |         |   relation_name=gs3]
  |         +-from_clause=
  |           +-TableGenerator
  |             +-FunctionCall[name=generate_series]
  |               +-Literal
  |               | +-NumericLiteral[numeric_string=0,float_like=false]
  |               +-Literal
  |               | +-NumericLiteral[numeric_string=100,float_like=false]
  |               +-Literal
  |                 +-NumericLiteral[numeric_string=10,float_like=false]
  +-from_clause=
    +-TableGenerator
      +-FunctionCall[name=generate_series]
        +-Literal
        | +-NumericLiteral[numeric_string=0,float_like=false]
        +-Literal
        | +-NumericLiteral[numeric_string=100,float_like=false]
        +-Literal
          +-NumericLiteral[numeric_string=3,float_like=false]
==

# CASE expressions.
SELECT CASE col1%2
           WHEN 1 THEN 'odd'
           ELSE 'even'
       END
FROM test;
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-SimpleCaseExpression
  |     +-case_operand=Modulo
  |     | +-left_operand=AttributeReference[attribute_name=col1]
  |     | +-right_operand=Literal
  |     |   +-NumericLiteral[numeric_string=2,float_like=false]
  |     +-else_result_expression=Literal
  |     | +-StringLiteral[value=even]
  |     +-when_clauses=
  |       +-SimpleWhenClause
  |         +-condition_operand=Literal
  |         | +-NumericLiteral[numeric_string=1,float_like=false]
  |         +-result_expression=Literal
  |           +-StringLiteral[value=odd]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT *
FROM test
WHERE CASE WHEN col1 > col2 THEN col3
           ELSE col4
      END > 0;
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectStar
  +-where_clause=Greater
  | +-left_operand=SearchedCaseExpression
  | | +-else_result_expression=AttributeReference[attribute_name=col4]
  | | +-when_clauses=
  | |   +-SearchedWhenClause
  | |     +-condition_predicate=Greater
  | |     | +-left_operand=AttributeReference[attribute_name=col1]
  | |     | +-right_operand=AttributeReference[attribute_name=col2]
  | |     +-result_expression=AttributeReference[attribute_name=col3]
  | +-right_operand=Literal
  |   +-NumericLiteral[numeric_string=0,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT
  FUN(CASE col1
        WHEN col2 + FUN(
               CASE WHEN col1 < col2 THEN 0
                    ELSE 1
               END +
               CASE WHEN col1 < col3 THEN 0
                    ELSE 1
               END
             ) THEN 1
        WHEN col3 THEN 2
        ELSE 0
      END + col4)
FROM test;
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectList
  | +-SelectListItem
  |   +-FunctionCall[name=FUN]
  |     +-Add
  |       +-left_operand=SimpleCaseExpression
  |       | +-case_operand=AttributeReference[attribute_name=col1]
  |       | +-else_result_expression=Literal
  |       | | +-NumericLiteral[numeric_string=0,float_like=false]
  |       | +-when_clauses=
  |       |   +-SimpleWhenClause
  |       |   | +-condition_operand=Add
  |       |   | | +-left_operand=AttributeReference[attribute_name=col2]
  |       |   | | +-right_operand=FunctionCall[name=FUN]
  |       |   | |   +-Add
  |       |   | |     +-left_operand=SearchedCaseExpression
  |       |   | |     | +-else_result_expression=Literal
  |       |   | |     | | +-NumericLiteral[numeric_string=1,float_like=false]
  |       |   | |     | +-when_clauses=
  |       |   | |     |   +-SearchedWhenClause
  |       |   | |     |     +-condition_predicate=Less
  |       |   | |     |     | +-left_operand=AttributeReference[
  |       |   | |     |     | | attribute_name=col1]
  |       |   | |     |     | +-right_operand=AttributeReference[
  |       |   | |     |     |   attribute_name=col2]
  |       |   | |     |     +-result_expression=Literal
  |       |   | |     |       +-NumericLiteral[numeric_string=0,float_like=false]
  |       |   | |     +-right_operand=SearchedCaseExpression
  |       |   | |       +-else_result_expression=Literal
  |       |   | |       | +-NumericLiteral[numeric_string=1,float_like=false]
  |       |   | |       +-when_clauses=
  |       |   | |         +-SearchedWhenClause
  |       |   | |           +-condition_predicate=Less
  |       |   | |           | +-left_operand=AttributeReference[
  |       |   | |           | | attribute_name=col1]
  |       |   | |           | +-right_operand=AttributeReference[
  |       |   | |           |   attribute_name=col3]
  |       |   | |           +-result_expression=Literal
  |       |   | |             +-NumericLiteral[numeric_string=0,float_like=false]
  |       |   | +-result_expression=Literal
  |       |   |   +-NumericLiteral[numeric_string=1,float_like=false]
  |       |   +-SimpleWhenClause
  |       |     +-condition_operand=AttributeReference[attribute_name=col3]
  |       |     +-result_expression=Literal
  |       |       +-NumericLiteral[numeric_string=2,float_like=false]
  |       +-right_operand=AttributeReference[attribute_name=col4]
  +-from_clause=
    +-TableReference[table=test]
==

# IN predicate
SELECT *
FROM test 
WHERE col1 IN (1, 3, 5);
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectStar
  +-where_clause=InValueList
  | +-test_expression=AttributeReference[attribute_name=col1]
  | +-value_list=
  |   +-Literal
  |   | +-NumericLiteral[numeric_string=1,float_like=false]
  |   +-Literal
  |   | +-NumericLiteral[numeric_string=3,float_like=false]
  |   +-Literal
  |     +-NumericLiteral[numeric_string=5,float_like=false]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT *
FROM test
WHERE col1 IN (FUN(1),
               col2+col3,
               CASE WHEN col4 > 0 THEN col5 ELSE col6 END);
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectStar
  +-where_clause=InValueList
  | +-test_expression=AttributeReference[attribute_name=col1]
  | +-value_list=
  |   +-FunctionCall[name=FUN]
  |   | +-Literal
  |   |   +-NumericLiteral[numeric_string=1,float_like=false]
  |   +-Add
  |   | +-left_operand=AttributeReference[attribute_name=col2]
  |   | +-right_operand=AttributeReference[attribute_name=col3]
  |   +-SearchedCaseExpression
  |     +-else_result_expression=AttributeReference[attribute_name=col6]
  |     +-when_clauses=
  |       +-SearchedWhenClause
  |         +-condition_predicate=Greater
  |         | +-left_operand=AttributeReference[attribute_name=col4]
  |         | +-right_operand=Literal
  |         |   +-NumericLiteral[numeric_string=0,float_like=false]
  |         +-result_expression=AttributeReference[attribute_name=col5]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT *
FROM test
WHERE col1 NOT IN (col1, col2 + col3);
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectStar
  +-where_clause=Not
  | +-InValueList
  |   +-test_expression=AttributeReference[attribute_name=col1]
  |   +-value_list=
  |     +-AttributeReference[attribute_name=col1]
  |     +-Add
  |       +-left_operand=AttributeReference[attribute_name=col2]
  |       +-right_operand=AttributeReference[attribute_name=col3]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT *
FROM test
WHERE col1 IN (
  SELECT SUM(col2+col3)
  FROM bar
  GROUP BY col4
);
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectStar
  +-where_clause=InTableQuery
  | +-test_expression=AttributeReference[attribute_name=col1]
  | +-table_query=SubqueryExpression
  |   +-Select
  |     +-select_clause=SelectList
  |     | +-SelectListItem
  |     |   +-FunctionCall[name=SUM]
  |     |     +-Add
  |     |       +-left_operand=AttributeReference[attribute_name=col2]
  |     |       +-right_operand=AttributeReference[attribute_name=col3]
  |     +-group_by=GroupBy
  |     | +-AttributeReference[attribute_name=col4]
  |     +-from_clause=
  |       +-TableReference[table=bar]
  +-from_clause=
    +-TableReference[table=test]
==

SELECT *
FROM test
WHERE col1 NOT IN (
  SELECT col2
  FROM bar
  WHERE col3 IN (col4, col5)
);
--
SelectStatement
+-select_query=Select
  +-select_clause=SelectStar
  +-where_clause=Not
  | +-InTableQuery
  |   +-test_expression=AttributeReference[attribute_name=col1]
  |   +-table_query=SubqueryExpression
  |     +-Select
  |       +-select_clause=SelectList
  |       | +-SelectListItem
  |       |   +-AttributeReference[attribute_name=col2]
  |       +-where_clause=InValueList
  |       | +-test_expression=AttributeReference[attribute_name=col3]
  |       | +-value_list=
  |       |   +-AttributeReference[attribute_name=col4]
  |       |   +-AttributeReference[attribute_name=col5]
  |       +-from_clause=
  |         +-TableReference[table=bar]
  +-from_clause=
    +-TableReference[table=test]
