Files
fn_registry/functions/infra/db_insert_batch.md
egutierrez 5f4f1f7508 docs: params/output semántico en 506 funciones para composabilidad
Añade campos params y output al frontmatter YAML de las 506 funciones del registry.
Cada parámetro tiene descripción semántica (qué representa, unidades, rango típico)
y cada función describe qué produce su output. Permite a agentes razonar sobre
cadenas de composición (ej: prices → log_return → sharpe_ratio) sin leer código.
2026-04-05 18:45:16 +02:00

1.6 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
db_insert_batch function go infra 1.0.0 impure func DBInsertBatch(db *sql.DB, table string, columns []string, rows [][]any) (int64, error) Inserta multiples filas en una transaccion usando prepared statement. Retorna el total de filas afectadas. Mas eficiente que llamar DBInsertRow en un loop.
database
sql
insert
batch
transaction
bulk
db_insert_row_go_infra
false error_go_core
database/sql
strings
name desc
db conexion sql.DB abierta
name desc
table nombre de la tabla donde insertar
name desc
columns slice de nombres de columnas en el orden de las rows
name desc
rows slice de rows, donde cada row es []any con valores en orden de columns
numero total de filas insertadas exitosamente false
functions/infra/db_insert_batch.go

Ejemplo

cols := []string{"name", "score", "ts"}
rows := [][]any{
    {"Alice", 95.5, 1700000000},
    {"Bob",   87.2, 1700000001},
    {"Carol", 91.0, 1700000002},
}
n, err := DBInsertBatch(db, "results", cols, rows)
if err != nil {
    return err
}
fmt.Printf("insertadas: %d filas\n", n)

Notas

Usa tx.Prepare() + stmt.Exec() en un loop dentro de una transaccion. El rollback es automatico si alguna fila falla. Valida tabla y columnas con regex. Cada fila debe tener exactamente len(columns) valores — retorna error descriptivo si no coincide.