Skip to content

Suggest to separate write and read from module clickhouse.js #71

@yi

Description

@yi

From a real-world production scenario, we've found the current implementation of httpRequest in clickhouse.js is a bit too complicated. It handles both reads (select) and writes (insert). That makes the httpRequest part too hard to be extended and brings some limitations.
e.g.

  1. No way to buffer the write response by setting wait_end_of_query. This causes the whole system to fail to handle clickhouse server data-parsing error.
  2. No way to read back response.headers['X-ClickHouse-Summary'] without hacking into the source code of this module.
  3. No way to fetch X-ClickHouse-Progress upgrades when reading back a large chunk of data.

Thus, I'd like to suggest to separate write and read from module clickhouse.js for their significant different behaviours.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions