ruslandoga
ruslandoga
Closes #218 --- Somewhat depends on the answer to https://github.com/ClickHouse/ClickHouse/issues/75768. Rust client went the easy way: https://github.com/ClickHouse/clickhouse-rs/pull/171 -- guess we can do that too (https://github.com/plausible/ch/pull/246).
Another quick attempt at https://github.com/plausible/analytics/pull/5166 If this works out, we might need to look into [`:inet.monitor`](https://www.erlang.org/doc/apps/kernel/inet.html#monitor/1) and `handle_info` again. If it doesn't work out, then `:inet.monitor` wouldn't have sent the...
https://clickhouse.com/docs/sql-reference/data-types/data-types-binary-encoding
Explanation: https://clickhouse.com/docs/knowledgebase/query_max_execution_time Right now when we timeout, we simply disconnect which leads to unclear, but kind of guessable error messages ("... closed pipe ..."). This option might make it cleaner.
And https://clickhouse.com/docs/en/sql-reference/data-types/variant too.
Closes #210
... or the new [`:zstd`](https://www.erlang.org/docs/28/apps/stdlib/zstd.html) since it's now part of stdlib and I think I read somewhere that ClickHouse Cloud uses ZSTD by default (because S3).
Context: https://github.com/plausible/ch/issues/208 Possible solutions: - ~~active sockets~~ - ~~retry queries on error=closed~~ - https://www.erlang.org/doc/apps/kernel/inet.html#monitor/1 + https://github.com/elixir-ecto/db_connection/pull/316
Just saw https://groups.google.com/g/elixir-ecto/c/whFMGtxEZpM/m/GTnxn94DCwAJ, this probably applies to Ch.