Viewing File: /opt/alt/python35/lib64/python3.5/site-packages/playhouse/__pycache__/shortcuts.cpython-35.pyc
R6W#
@ s d d l Z d d l Td d l m Z e j d d k rU d d l m Z d d Z d d d Z d
d Z d d
Z d d d d d d d d d d Z
d d d Z Gd d d e Z
d S) N)*)Node )Callablec C s
t | t S)N)
isinstancer )c r
/shortcuts.py<lambda> s r
c C s t d g } | d k } | r. | j | x9 | D]1 \ } } | j t d | t d | f q5 W| d k r | j t d | f | j t d t | S)a&
CASE statement builder.
Example CASE statements:
SELECT foo,
CASE
WHEN foo = 1 THEN "one"
WHEN foo = 2 THEN "two"
ELSE "?"
END -- will be in column named "case" in postgres --
FROM bar;
-- equivalent to above --
SELECT foo,
CASE foo
WHEN 1 THEN "one"
WHEN 2 THEN "two"
ELSE "?"
END
Corresponding peewee:
# No predicate, use expressions.
Bar.select(Bar.foo, case(None, (
(Bar.foo == 1, "one"),
(Bar.foo == 2, "two")), "?"))
# Predicate, will test for equality.
Bar.select(Bar.foo, case(Bar.foo, (
(1, "one"),
(2, "two")), "?"))
ZCASENZWHENZTHENELSEZEND)SQLappendextendClause) predicateZexpression_tuplesdefaultZclausesZsimple_caseexprvaluer r r case s "
)r c C s t j t | t d | S)NzAS %s)fnZCASTr r )ZnodeZas_typer r r cast<