summaryrefslogtreecommitdiffstats
path: root/sqlglot/dialects/trino.py
blob: 9a6f7fe6c7b0925204f9affeb7e2264aa293a057 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
from sqlglot import exp
from sqlglot.dialects.presto import Presto


class Trino(Presto):
    class Generator(Presto.Generator):
        TRANSFORMS = {
            **Presto.Generator.TRANSFORMS,
            exp.ArraySum: lambda self, e: f"REDUCE({self.sql(e, 'this')}, 0, (acc, x) -> acc + x, acc -> acc)",
        }

    class Tokenizer(Presto.Tokenizer):
        HEX_STRINGS = [("X'", "'")]