Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 16 additions & 12 deletions pypika/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,52 +68,55 @@
# noinspection PyUnresolvedReferences
from pypika.queries import (
AliasedQuery,
Column,
Database,
Query,
Schema,
Table,
Column,
Database,
make_tables as Tables,
)
from pypika.queries import (
make_columns as Columns,
)
from pypika.queries import (
make_tables as Tables,
)

# noinspection PyUnresolvedReferences
from pypika.terms import (
JSON,
Array,
Bracket,
Case,
Criterion,
CustomFunction,
EmptyCriterion,
Field,
FormatParameter,
Index,
Interval,
JSON,
NamedParameter,
Not,
NullValue,
SystemTimeValue,
Parameter,
QmarkParameter,
NumericParameter,
NamedParameter,
FormatParameter,
Parameter,
PyformatParameter,
QmarkParameter,
Rollup,
SystemTimeValue,
Tuple,
CustomFunction,
)

# noinspection PyUnresolvedReferences
from pypika.utils import (
CaseException,
FunctionException,
GroupingException,
JoinException,
QueryException,
RollupException,
SetOperationException,
FunctionException,
)


__author__ = "Timothy Heys"
__email__ = "[email protected]"
__version__ = "0.48.9"
Expand Down Expand Up @@ -165,6 +168,7 @@
'CustomFunction',
'CaseException',
'GroupingException',
'JiraQuery',
'JoinException',
'QueryException',
'RollupException',
Expand Down
45 changes: 24 additions & 21 deletions pypika/analytics.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
"""
Package for SQL analytic functions wrappers
"""

from __future__ import annotations

from pypika.terms import (
AnalyticFunction,
WindowFrameAnalyticFunction,
IgnoreNullsAnalyticFunction,
WindowFrameAnalyticFunction,
)

__author__ = "Timothy Heys"
Expand All @@ -24,99 +27,99 @@ class Following(WindowFrameAnalyticFunction.Edge):

class Rank(AnalyticFunction):
def __init__(self, **kwargs):
super(Rank, self).__init__("RANK", **kwargs)
super().__init__("RANK", **kwargs)


class DenseRank(AnalyticFunction):
def __init__(self, **kwargs):
super(DenseRank, self).__init__("DENSE_RANK", **kwargs)
super().__init__("DENSE_RANK", **kwargs)


class RowNumber(AnalyticFunction):
def __init__(self, **kwargs):
super(RowNumber, self).__init__("ROW_NUMBER", **kwargs)
super().__init__("ROW_NUMBER", **kwargs)


class NTile(AnalyticFunction):
def __init__(self, term, **kwargs):
super(NTile, self).__init__("NTILE", term, **kwargs)
super().__init__("NTILE", term, **kwargs)


class FirstValue(WindowFrameAnalyticFunction, IgnoreNullsAnalyticFunction):
def __init__(self, *terms, **kwargs):
super(FirstValue, self).__init__("FIRST_VALUE", *terms, **kwargs)
super().__init__("FIRST_VALUE", *terms, **kwargs)


class LastValue(WindowFrameAnalyticFunction, IgnoreNullsAnalyticFunction):
def __init__(self, *terms, **kwargs):
super(LastValue, self).__init__("LAST_VALUE", *terms, **kwargs)
super().__init__("LAST_VALUE", *terms, **kwargs)


class Median(AnalyticFunction):
def __init__(self, term, **kwargs):
super(Median, self).__init__("MEDIAN", term, **kwargs)
super().__init__("MEDIAN", term, **kwargs)


class Avg(WindowFrameAnalyticFunction):
def __init__(self, term, **kwargs):
super(Avg, self).__init__("AVG", term, **kwargs)
super().__init__("AVG", term, **kwargs)


class StdDev(WindowFrameAnalyticFunction):
def __init__(self, term, **kwargs):
super(StdDev, self).__init__("STDDEV", term, **kwargs)
super().__init__("STDDEV", term, **kwargs)


class StdDevPop(WindowFrameAnalyticFunction):
def __init__(self, term, **kwargs):
super(StdDevPop, self).__init__("STDDEV_POP", term, **kwargs)
super().__init__("STDDEV_POP", term, **kwargs)


class StdDevSamp(WindowFrameAnalyticFunction):
def __init__(self, term, **kwargs):
super(StdDevSamp, self).__init__("STDDEV_SAMP", term, **kwargs)
super().__init__("STDDEV_SAMP", term, **kwargs)


class Variance(WindowFrameAnalyticFunction):
def __init__(self, term, **kwargs):
super(Variance, self).__init__("VARIANCE", term, **kwargs)
super().__init__("VARIANCE", term, **kwargs)


class VarPop(WindowFrameAnalyticFunction):
def __init__(self, term, **kwargs):
super(VarPop, self).__init__("VAR_POP", term, **kwargs)
super().__init__("VAR_POP", term, **kwargs)


class VarSamp(WindowFrameAnalyticFunction):
def __init__(self, term, **kwargs):
super(VarSamp, self).__init__("VAR_SAMP", term, **kwargs)
super().__init__("VAR_SAMP", term, **kwargs)


class Count(WindowFrameAnalyticFunction):
def __init__(self, term, **kwargs):
super(Count, self).__init__("COUNT", term, **kwargs)
super().__init__("COUNT", term, **kwargs)


class Sum(WindowFrameAnalyticFunction):
def __init__(self, term, **kwargs):
super(Sum, self).__init__("SUM", term, **kwargs)
super().__init__("SUM", term, **kwargs)


class Max(WindowFrameAnalyticFunction):
def __init__(self, term, **kwargs):
super(Max, self).__init__("MAX", term, **kwargs)
super().__init__("MAX", term, **kwargs)


class Min(WindowFrameAnalyticFunction):
def __init__(self, term, **kwargs):
super(Min, self).__init__("MIN", term, **kwargs)
super().__init__("MIN", term, **kwargs)


class Lag(AnalyticFunction):
def __init__(self, *args, **kwargs):
super(Lag, self).__init__("LAG", *args, **kwargs)
super().__init__("LAG", *args, **kwargs)


class Lead(AnalyticFunction):
def __init__(self, *args, **kwargs):
super(Lead, self).__init__("LEAD", *args, **kwargs)
super().__init__("LEAD", *args, **kwargs)
12 changes: 8 additions & 4 deletions pypika/clickhouse/array.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from __future__ import annotations

import abc

from pypika.terms import (
Expand All @@ -9,7 +11,9 @@


class Array(Term):
def __init__(self, values: list, converter_cls=None, converter_options: dict = None, alias: str = None):
def __init__(
self, values: list, converter_cls=None, converter_options: dict | None = None, alias: str | None = None
):
super().__init__(alias)
self._values = values
self._converter_cls = converter_cls
Expand All @@ -34,8 +38,8 @@ def __init__(
self,
left_array: Array or Field,
right_array: Array or Field,
alias: str = None,
schema: str = None,
alias: str | None = None,
schema: str | None = None,
):
self._left_array = left_array
self._right_array = right_array
Expand All @@ -56,7 +60,7 @@ def get_sql(self, with_alias=False, with_namespace=False, quote_char=None, diale


class _AbstractArrayFunction(Function, metaclass=abc.ABCMeta):
def __init__(self, array: Array or Field, alias: str = None, schema: str = None):
def __init__(self, array: Array or Field, alias: str | None = None, schema: str | None = None):
self.schema = schema
self.alias = alias
self.name = self.clickhouse_function()
Expand Down
10 changes: 6 additions & 4 deletions pypika/clickhouse/search_string.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
from __future__ import annotations

import abc

from pypika.terms import Function
from pypika.utils import format_alias_sql


class _AbstractSearchString(Function, metaclass=abc.ABCMeta):
def __init__(self, name, pattern: str, alias: str = None):
super(_AbstractSearchString, self).__init__(self.clickhouse_function(), name, alias=alias)
def __init__(self, name, pattern: str, alias: str | None = None):
super().__init__(self.clickhouse_function(), name, alias=alias)

self._pattern = pattern

Expand Down Expand Up @@ -50,8 +52,8 @@ def clickhouse_function(cls) -> str:


class _AbstractMultiSearchString(Function, metaclass=abc.ABCMeta):
def __init__(self, name, patterns: list, alias: str = None):
super(_AbstractMultiSearchString, self).__init__(self.clickhouse_function(), name, alias=alias)
def __init__(self, name, patterns: list, alias: str | None = None):
super().__init__(self.clickhouse_function(), name, alias=alias)

self._patterns = patterns

Expand Down
56 changes: 29 additions & 27 deletions pypika/clickhouse/type_conversion.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from __future__ import annotations

from pypika.terms import (
Field,
Function,
Expand All @@ -6,12 +8,12 @@


class ToString(Function):
def __init__(self, name, alias: str = None):
super(ToString, self).__init__("toString", name, alias=alias)
def __init__(self, name, alias: str | None = None):
super().__init__("toString", name, alias=alias)


class ToFixedString(Function):
def __init__(self, field, length: int, alias: str = None, schema: str = None):
def __init__(self, field, length: int, alias: str | None = None, schema: str | None = None):
self._length = length
self._field = field
self.alias = alias
Expand All @@ -29,60 +31,60 @@ def get_sql(self, with_alias=False, with_namespace=False, quote_char=None, diale


class ToInt8(Function):
def __init__(self, name, alias: str = None):
super(ToInt8, self).__init__("toInt8", name, alias=alias)
def __init__(self, name, alias: str | None = None):
super().__init__("toInt8", name, alias=alias)


class ToInt16(Function):
def __init__(self, name, alias: str = None):
super(ToInt16, self).__init__("toInt16", name, alias=alias)
def __init__(self, name, alias: str | None = None):
super().__init__("toInt16", name, alias=alias)


class ToInt32(Function):
def __init__(self, name, alias: str = None):
super(ToInt32, self).__init__("toInt32", name, alias=alias)
def __init__(self, name, alias: str | None = None):
super().__init__("toInt32", name, alias=alias)


class ToInt64(Function):
def __init__(self, name, alias: str = None):
super(ToInt64, self).__init__("toInt64", name, alias=alias)
def __init__(self, name, alias: str | None = None):
super().__init__("toInt64", name, alias=alias)


class ToUInt8(Function):
def __init__(self, name, alias: str = None):
super(ToUInt8, self).__init__("toUInt8", name, alias=alias)
def __init__(self, name, alias: str | None = None):
super().__init__("toUInt8", name, alias=alias)


class ToUInt16(Function):
def __init__(self, name, alias: str = None):
super(ToUInt16, self).__init__("toUInt16", name, alias=alias)
def __init__(self, name, alias: str | None = None):
super().__init__("toUInt16", name, alias=alias)


class ToUInt32(Function):
def __init__(self, name, alias: str = None):
super(ToUInt32, self).__init__("toUInt32", name, alias=alias)
def __init__(self, name, alias: str | None = None):
super().__init__("toUInt32", name, alias=alias)


class ToUInt64(Function):
def __init__(self, name, alias: str = None):
super(ToUInt64, self).__init__("toUInt64", name, alias=alias)
def __init__(self, name, alias: str | None = None):
super().__init__("toUInt64", name, alias=alias)


class ToFloat32(Function):
def __init__(self, name, alias: str = None):
super(ToFloat32, self).__init__("toFloat32", name, alias=alias)
def __init__(self, name, alias: str | None = None):
super().__init__("toFloat32", name, alias=alias)


class ToFloat64(Function):
def __init__(self, name, alias: str = None):
super(ToFloat64, self).__init__("toFloat64", name, alias=alias)
def __init__(self, name, alias: str | None = None):
super().__init__("toFloat64", name, alias=alias)


class ToDate(Function):
def __init__(self, name, alias: str = None):
super(ToDate, self).__init__("toDate", name, alias=alias)
def __init__(self, name, alias: str | None = None):
super().__init__("toDate", name, alias=alias)


class ToDateTime(Function):
def __init__(self, name, alias: str = None):
super(ToDateTime, self).__init__("toDateTime", name, alias=alias)
def __init__(self, name, alias: str | None = None):
super().__init__("toDateTime", name, alias=alias)
Loading
Loading