Search code examples
sqlclickhouseapache-superset

'This database does not allow for DDL/DML' error in Apache superset


Running the following query in Apache superset on a Clickhouse DB

select top 2 storage_name
from proxy_space;

leads to error:

DB engine Error This database does not allow for DDL/DML, and the query could not be parsed to confirm it is a read-only query. Please contact your administrator for more assistance.

Running it without top 2 doesn't cause the error:

select storage_name
from proxy_space;

Why does superset consider it as a DDL/DML query? Is it a bug? Clickhouse driver is installed in superset.


Solution

  • Clickhouse does not support SELECT TOP 2.

    See the SQL Reference of Clickhouse here. I would suggest rewritting the query using LIMIT e.g.

    select storage_name
    from proxy_space
    LIMIT 2;