Files
go/conn_async_insert.go
zeekay 22b3f5ce2b hanzo-ds/go: branded datastore client, rebased on clickhouse-go v2.44.0
Feature-complete v2.44.0 (lib/churl, lib/col, BFloat16, QBit, scanTypeDuration,
Options.Logger *slog.Logger) — fixes the [email protected].0 downgrade RED caught.
Package datastore, module github.com/hanzo-ds/go, depends only on hanzo-ds/native.
Wire strings preserved VERBATIM (X-ClickHouse-* headers, sql.Register("clickhouse"),
clickhouse:// DSN, ClientName="clickhouse-go") — consistent with native.
2026-07-10 13:11:20 -07:00

33 lines
767 B
Go

package datastore
import (
"context"
"github.com/hanzo-ds/go/lib/proto"
)
func (c *connect) asyncInsert(ctx context.Context, query string, wait bool, args ...any) error {
options := queryOptions(ctx)
{
options.settings["async_insert"] = 1
options.settings["wait_for_async_insert"] = 0
if wait {
options.settings["wait_for_async_insert"] = 1
}
}
if len(args) > 0 {
queryParamsProtocolSupport := c.revision >= proto.DBMS_MIN_PROTOCOL_VERSION_WITH_PARAMETERS
var err error
query, err = bindQueryOrAppendParameters(queryParamsProtocolSupport, &options, query, c.server.Timezone, args...)
if err != nil {
return err
}
}
if err := c.sendQuery(query, &options); err != nil {
return err
}
return c.process(ctx, options.onProcess())
}