Files
fn_registry/functions/infra/clickhouse/clickhouse_open.md
T
egutierrez 4bce095964 refactor(infra): split de drivers pesados a subpaquetes + fix TestSSEHandler
Mueve duckdb_open, clickhouse_open, postgres_open, matrix_* y keyring_token_store
del paquete monolitico functions/infra a subpaquetes propios
(functions/infra/{duckdb,clickhouse,postgres,matrix,keyring}). El paquete infra ya
no importa los drivers (go-duckdb, clickhouse-go, pgx, mautrix, go-keyring), por lo
que las apps que solo usan funciones ligeras (process, cron, http, sqlite) dejan de
arrastrarlos. Reduccion de binarios: dag_engine 72->10MB, registry_api 70->8.7MB,
services_api 70->9MB, call_monitor 68->6.6MB, sqlite_api 70->8.9MB.

Los IDs del registry se mantienen estables (domain: infra en frontmatter). Se
preservan los build tags goolm/libolm de matrix_crypto_init.

Tambien corrige TestSSEHandler: el test leia el body con un unico Read() que con
HTTP chunked solo capturaba el primer evento; ahora usa io.ReadAll hasta EOF.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 23:48:59 +02:00

1.5 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
clickhouse_open function go infra 1.0.0 impure func ClickHouseOpen(host string, port int, user, password, database string) (*sql.DB, error) Conecta a ClickHouse construyendo DSN clickhouse://user:pass@host:port/database.
database
clickhouse
connection
sql
olap
pendiente-usar
db_config_go_infra
false error_go_core
database/sql
github.com/ClickHouse/clickhouse-go/v2
name desc
host hostname del servidor ClickHouse
name desc
port puerto de ClickHouse (9000 para protocolo nativo, 8123 para HTTP)
name desc
user nombre de usuario para autenticacion
name desc
password contraseña para autenticacion
name desc
database nombre de la base de datos a conectar
conexion sql.DB abierta a ClickHouse con ping verificado false
functions/infra/clickhouse/clickhouse_open.go

Ejemplo

db, err := ClickHouseOpen("localhost", 9000, "default", "", "analytics")
if err != nil {
    log.Fatal(err)
}
defer DBClose(db)

rows, err := DBQuery(db, "SELECT event, count() FROM events GROUP BY event")

Notas

Usa el driver github.com/ClickHouse/clickhouse-go/v2 registrado como "clickhouse". Puerto por defecto de ClickHouse es 9000 (nativo) o 8123 (HTTP). Hace ping al abrir para verificar conectividad.