File: test_tableau.py

package info (click to toggle)
sqlglot 28.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 14,816 kB
  • sloc: python: 86,744; sql: 22,739; makefile: 48
file content (77 lines) | stat: -rw-r--r-- 2,028 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
from tests.dialects.test_dialect import Validator


class TestTableau(Validator):
    dialect = "tableau"

    def test_tableau(self):
        self.validate_all(
            "[x]",
            write={
                "hive": "`x`",
                "tableau": "[x]",
            },
        )
        self.validate_all(
            '"x"',
            write={
                "hive": "'x'",
                "tableau": "'x'",
            },
        )

        self.validate_all(
            "IF x = 'a' THEN y ELSE NULL END",
            read={
                "presto": "IF(x = 'a', y, NULL)",
            },
            write={
                "presto": "IF(x = 'a', y, NULL)",
                "hive": "IF(x = 'a', y, NULL)",
                "tableau": "IF x = 'a' THEN y ELSE NULL END",
            },
        )
        self.validate_all(
            "IFNULL(a, 0)",
            read={
                "presto": "COALESCE(a, 0)",
            },
            write={
                "presto": "COALESCE(a, 0)",
                "hive": "COALESCE(a, 0)",
                "tableau": "IFNULL(a, 0)",
            },
        )
        self.validate_all(
            "COUNTD(a)",
            read={
                "presto": "COUNT(DISTINCT a)",
            },
            write={
                "presto": "COUNT(DISTINCT a)",
                "hive": "COUNT(DISTINCT a)",
                "tableau": "COUNTD(a)",
            },
        )
        self.validate_all(
            "COUNTD((a))",
            read={
                "presto": "COUNT(DISTINCT(a))",
            },
            write={
                "presto": "COUNT(DISTINCT (a))",
                "hive": "COUNT(DISTINCT (a))",
                "tableau": "COUNTD((a))",
            },
        )
        self.validate_all(
            "COUNT(a)",
            read={
                "presto": "COUNT(a)",
            },
            write={
                "presto": "COUNT(a)",
                "hive": "COUNT(a)",
                "tableau": "COUNT(a)",
            },
        )