Skip to content

Instantly share code, notes, and snippets.

@brianv0
Last active April 5, 2016 22:37
Show Gist options
  • Save brianv0/c00e7e6a9ec89b28ea6aa7432a8201a7 to your computer and use it in GitHub Desktop.
Save brianv0/c00e7e6a9ec89b28ea6aa7432a8201a7 to your computer and use it in GitHub Desktop.
Query Parse
Query{queryBody=QuerySpecification{select=Select{distinct=false, selectItems=[(CASE WHEN ("x" = 1) THEN "y" ELSE "z" END), "a"]}, from=Optional[Join{type=IMPLICIT, left=Table{ii/295/sstgc}, right=Table{ii/293/glimpse}, criteria=Optional.empty}], where=((1 = "contains"("point"('ICRS', "ii/295/sstgc"."raj2000", "ii/295/sstgc"."dej2000"), "box"('GALACTIC', 0, 0, (30 / 60.0), (10 / 60.0)))) AND (1 = "contains"("point"('ICRS', "ii/295/sstgc"."raj2000", "ii/295/sstgc"."dej2000"), "circle"('ICRS', "ii/293/glimpse"."raj2000", "ii/293/glimpse"."dej2000", (2 / 3600.0))))), groupBy=[], having=null, orderBy=[], limit=10}, orderBy=[]}
SELECT
(CASE WHEN ("x" = 1) THEN "y" ELSE "z" END)
, "a"
FROM
ii/295/sstgc
, ii/293/glimpse
WHERE ((1 = "contains"("point"('ICRS', "ii/295/sstgc"."raj2000", "ii/295/sstgc"."dej2000"), "box"('GALACTIC', 0, 0, (30 / 60.0), (10 / 60.0)))) AND (1 = "contains"("point"('ICRS', "ii/295/sstgc"."raj2000", "ii/295/sstgc"."dej2000"), "circle"('ICRS', "ii/293/glimpse"."raj2000", "ii/293/glimpse"."dej2000", (2 / 3600.0)))))
LIMIT 10
SELECT TOP 10 CASE WHEN x=1 THEN y ELSE z END, a
FROM "II/295/SSTGC","II/293/glimpse"
WHERE 1=CONTAINS(POINT('ICRS',"II/295/SSTGC".RAJ2000,"II/295/SSTGC".DEJ2000),
BOX('GALACTIC', 0, 0, 30/60., 10/60.))
AND 1=CONTAINS(POINT('ICRS',"II/295/SSTGC".RAJ2000,"II/295/SSTGC".DEJ2000),
CIRCLE('ICRS',"II/293/glimpse".RAJ2000,"II/293/glimpse".DEJ2000, 2/3600.0))
Query(
query_body=QuerySpecification(
select=Select(
distinct=False,
select_items=[
SingleColumn(
expression=SearchedCaseExpression(
when_clauses=[
WhenClause(
operand=ComparisonExpression(
type='=',
left=QualifiedNameReference(name=QualifiedName(x)),
right=LongLiteral(value=1L)
),
result=QualifiedNameReference(name=QualifiedName(y))
)
],
default_value=QualifiedNameReference(name=QualifiedName(z)))),
SingleColumn(expression=QualifiedNameReference(name=QualifiedName(a)))
]
),
from_=Join(join_type='IMPLICIT',
left=Table(name=QualifiedName(II/295/SSTGC)),
right=Table(name=QualifiedName(II/293/glimpse))),
where=LogicalBinaryExpression(
type='AND',
left=ComparisonExpression(
type='=',
left=LongLiteral(value=1L),
right=FunctionCall(
name=QualifiedName(CONTAINS),
distinct=False,
arguments=[
FunctionCall(
name=QualifiedName(POINT),
distinct=False,
arguments=[
StringLiteral(value='ICRS'),
QualifiedNameReference(name=QualifiedName(II/295/SSTGC.RAJ2000)),
QualifiedNameReference(name=QualifiedName(II/295/SSTGC.DEJ2000))
]
),
FunctionCall(
name=QualifiedName(BOX),
distinct=False,
arguments=[
StringLiteral(value='GALACTIC'),
LongLiteral(value=0L),
LongLiteral(value=0L),
ArithmeticBinaryExpression(type='/',
left=LongLiteral(value=30L),
right=DoubleLiteral(value=60.0)),
ArithmeticBinaryExpression(type='/',
left=LongLiteral(value=10L),
right=DoubleLiteral(value=60.0))
]
)
]
)
),
right=ComparisonExpression(
type='=',
left=LongLiteral(value=1L),
right=FunctionCall(
name=QualifiedName(CONTAINS),
distinct=False,
arguments=[
FunctionCall(
name=QualifiedName(POINT),
distinct=False,
arguments=[
StringLiteral(value='ICRS'),
QualifiedNameReference(name=QualifiedName(II/295/SSTGC.RAJ2000)),
QualifiedNameReference(name=QualifiedName(II/295/SSTGC.DEJ2000))]),
FunctionCall(
name=QualifiedName(CIRCLE),
distinct=False,
arguments=[
StringLiteral(value='ICRS'),
QualifiedNameReference(name=QualifiedName(II/293/glimpse.RAJ2000)),
QualifiedNameReference(name=QualifiedName(II/293/glimpse.DEJ2000)),
ArithmeticBinaryExpression(type='/',
left=LongLiteral(value=2L),
right=DoubleLiteral(value=3600.0))
]
)
]
)
)
),
order_by=[],
limit=10
)
)
SELECT
(CASE WHEN ("x" = 1) THEN "y" ELSE "z" END)
, "a"
FROM
II/295/SSTGC
, II/293/glimpse
WHERE ((1 = "CONTAINS"("POINT"('ICRS', "II/295/SSTGC"."RAJ2000", "II/295/SSTGC"."DEJ2000"), "BOX"('GALACTIC', 0, 0, (30 / 60.0), (10 / 60.0)))) AND (1 = "CONTAINS"("POINT"('ICRS', "II/295/SSTGC"."RAJ2000", "II/295/SSTGC"."DEJ2000"), "CIRCLE"('ICRS', "II/293/glimpse"."RAJ2000", "II/293/glimpse"."DEJ2000", (2 / 3600.0)))))
LIMIT 10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment