Source code for pypika.enums

# coding: utf-8
from enum import Enum

__author__ = "Timothy Heys"
__email__ = "theys@kayak.com"


[docs]class Arithmetic(Enum): add = '+' sub = '-' mul = '*' div = '/'
[docs]class Comparator(Enum): pass
[docs]class Equality(Comparator): eq = '=' ne = '<>' gt = '>' gte = '>=' lt = '<' lte = '<='
[docs]class Matching(Comparator): not_like = ' NOT LIKE ' like = ' LIKE ' not_ilike = ' NOT ILIKE ' ilike = ' ILIKE ' regex = ' REGEX ' bin_regex = ' REGEX BINARY '
[docs]class Boolean(Comparator): and_ = 'AND' or_ = 'OR' xor_ = 'XOR' true = 'TRUE' false = 'FALSE'
[docs]class Order(Enum): asc = 'ASC' desc = 'DESC'
[docs]class JoinType(Enum): inner = '' left = 'LEFT' right = 'RIGHT' outer = 'FULL OUTER' left_outer = 'LEFT OUTER' right_outer = 'RIGHT OUTER' full_outer = 'FULL OUTER' cross = 'CROSS'
[docs]class UnionType(Enum): distinct = '' all = ' ALL'
[docs]class DatePart(Enum): year = 'YEAR' quarter = 'QUARTER' month = 'MONTH' week = 'WEEK' day = 'DAY' hour = 'HOUR' minute = 'MINUTE' second = 'SECOND' microsecond = 'MICROSECOND'
[docs]class SqlType: def __init__(self, name): self.name = name def __call__(self, length): return SqlTypeLength(self.name, length)
[docs] def get_sql(self, **kwargs): return '{name}'.format(name=self.name)
[docs]class SqlTypeLength: def __init__(self, name, length): self.name = name self.length = length
[docs] def get_sql(self, **kwargs): return '{name}({length})'.format(name=self.name, length=self.length)
[docs]class SqlTypes: BOOLEAN = 'BOOLEAN' INTEGER = 'INTEGER' FLOAT = 'FLOAT' NUMERIC = 'NUMERIC' SIGNED = 'SIGNED' UNSIGNED = 'UNSIGNED' DATE = 'DATE' TIME = 'TIME' TIMESTAMP = 'TIMESTAMP' CHAR = SqlType('CHAR') VARCHAR = SqlType('VARCHAR') LONG_VARCHAR = SqlType('LONG VARCHAR') BINARY = SqlType('BINARY') VARBINARY = SqlType('VARBINARY') LONG_VARBINARY = SqlType('LONG VARBINARY')
[docs]class Dialects(Enum): VERTICA = 'vertica' CLICKHOUSE = 'clickhouse' ORACLE = 'oracle' MSSQL = 'mssql' MYSQL = 'mysql' POSTGRESQL = 'postgressql' REDSHIFT = 'redshift' SQLLITE = 'sqllite' SNOWFLAKE = 'snowflake'
[docs]class JSONOperators(Enum): HAS_KEY = '?' CONTAINS = '@>' CONTAINED_BY = '<@' HAS_KEYS = '?&' HAS_ANY_KEYS = '?|' GET_JSON_VALUE = '->' GET_TEXT_VALUE = '->>' GET_PATH_JSON_VALUE = '#>' GET_PATH_TEXT_VALUE = '#>>'