We add ClickHouse as a new product type to the builtin sql-mode in Emacs. That
way, we get syntax highlighting and can communicate with the DB using the CLI
clickhouse-client
.
Note that the client assumes being run in a fully-functional terminal. While
running a query, it will print updated statistics every 100ms. Inside Emacs,
with the comint
interface, these messages accumulate rather than update in
place, which is kind of messy (including some coloring). I failed to disable
this behavior so far, but there is a parameter to control the frequency of these
updates in microseconds. I use the following query to increase it to 10 seconds:
-- 10 seconds in microseconds SET interactive_delay = 10000000;