Add support of array params for ClickHouse client

What does this MR do and why?

Adds support of Array params for ClickHouse queries.

How to set up and validate locally

  1. Make sure you have data in code_suggestion_events by seeding usage stats: FILTER=ai_usage_stats bundle exec rake db:seed_fu
  2. In Rails console
raw_query = "SELECT language, count() FROM code_suggestion_events_daily WHERE length({languages:Array(String)}) = 0 OR language IN {languages:Array(String)} GROUP BY language LIMIT 10"
ClickHouse::Client.select(ClickHouse::Client::Query.new(raw_query: raw_query, placeholders: {languages: ["js", "r'uby"]}), :main)
  1. returned data should contain data for js but not data for r'uby since there is no data.
  2. you can adjust r'uby to ruby and check that proper data is returned.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #536637 (closed)

Merge request reports

Loading