ClickHouse/ch-go

ColMap should support Prepare for Keys and Values

matianjun1 opened this issue · 1 comments

Describe the bug

Using LowCardinality for ColMap Key or Value will receive an error from server

Steps to reproduce

Expected behaviour

Send OK.

Code example

TraceId := new(proto.ColStr)
ResourceAttributes := proto.NewMap[string, string](new(proto.ColStr).LowCardinality(), new(proto.ColStr).LowCardinality())
SpanAttributes := proto.NewMap[string, string](new(proto.ColStr).LowCardinality(), new(proto.ColStr).LowCardinality())
input := proto.Input{
	{Name: "TraceId", Data: &TraceId},
	{Name: "ResourceAttributes", Data: ResourceAttributes},
	{Name: "SpanAttributes", Data: SpanAttributes},
}

Error log

INCORRECT_DATA (117): DB::Exception: Index for LowCardinality is out of range. Dictionary size is 0, but found index with value 4

Configuration

Environment

  • Client version: v0.51.2 but v0.55.0 is the same code for proto.ColMap
  • Language version:
  • OS: Darwin and Linux

ClickHouse server

  • ClickHouse Server version: 23.1.3.5
  • ClickHouse Server non-default settings, if any:
  • CREATE TABLE statements for tables involved:
  • Sample data for all these tables, use clickhouse-obfuscator if necessary
ernado commented

Please try v0.57.0-alpha.1