Repository: tobymao/sqlglot

Issue:
Clickhouse `CURRENT_DATE` is not rendered as a function
```py
import sqlglot

print('version:', sqlglot.__version__)

print(sqlglot.transpile('select current_date', read='postgres', write='clickhouse'))
```

Outputs:

```
version: 18.16.1
['SELECT CURRENT_DATE']
```

This is invalid in Clickhouse, see [the docs](https://clickhouse.com/docs/en/sql-reference/functions/date-time-functions#today), `CURRENT_DATE` (alias of `today` and `curdate`) is a function, thus the output in this case should be `SELECT current_date()`.

Case doesn't seem to matter in this this case, although the docs show lowercase.

Discussion:

Patch:
diff --git a/sqlglot/dialects/clickhouse.py b/sqlglot/dialects/clickhouse.py
index 82f99f0a..a935cce3 100644
--- a/sqlglot/dialects/clickhouse.py
+++ b/sqlglot/dialects/clickhouse.py
@@ -375,6 +375,7 @@ class ClickHouse(Dialect):
             exp.ApproxDistinct: rename_func("uniq"),
             exp.Array: inline_array_sql,
             exp.CastToStrType: rename_func("CAST"),
+            exp.CurrentDate: lambda self, e: self.func("CURRENT_DATE"),
             exp.DateAdd: lambda self, e: self.func(
                 "DATE_ADD", exp.Literal.string(e.text("unit") or "day"), e.expression, e.this
             ),


Test patch:
diff --git a/tests/dialects/test_clickhouse.py b/tests/dialects/test_clickhouse.py
index ae6b478b..e50eee68 100644
--- a/tests/dialects/test_clickhouse.py
+++ b/tests/dialects/test_clickhouse.py
@@ -101,6 +101,20 @@ class TestClickhouse(Validator):
             "CREATE MATERIALIZED VIEW test_view (id UInt8) TO db.table1 AS SELECT * FROM test_data"
         )
 
+        self.validate_all(
+            "SELECT CURRENT_DATE()",
+            read={
+                "clickhouse": "SELECT CURRENT_DATE()",
+                "postgres": "SELECT CURRENT_DATE",
+            },
+        )
+        self.validate_all(
+            "SELECT CURRENT_TIMESTAMP()",
+            read={
+                "clickhouse": "SELECT CURRENT_TIMESTAMP()",
+                "postgres": "SELECT CURRENT_TIMESTAMP",
+            },
+        )
         self.validate_all(
             "SELECT match('ThOmAs', CONCAT('(?i)', 'thomas'))",
             read={