Results of 1 - 10 of about 10 for defer (0.002 sec.)
- Connect 12621
- Overview The Go client works through the standard database/sql types: a *sql.DB is a pool of connections to a DuckDB database. This page covers opening in-memory and file-backed databases, passing DuckDB configuration options, running initi
...to disk. // An empty DSN and ":memory:" are equivalent. db, err := sql.Open("duckdb", "") if err != nil { log.Fatal(err) } defer db.Close() // File-backed database: created if it does not exist. db, err := sql.Open("duckdb", "/path/to/foo.db") sql.Ope....ExecContext(context.Background(), query, nil); err != nil { return err } } return nil }) if err != nil { log.Fatal(err) } defer connector.Close() db := sql.OpenDB(connector) defer db.Close() Pass nil as the callback when no initialization is needed....ared with other goroutines until it is closed: conn, err := db.Conn(context.Background()) if err != nil { log.Fatal(err) } defer conn.Close() The client also exposes two helpers that take a *sql.Conn : duckdb.GetTableNames() returns the table names re... - https://man.mtool.work/duckdb/2.0/clients/go/connecting.html
- Import Data 10494
- Overview The Go client offers two ways to load data into DuckDB in bulk: the high-performance Appender for inserting rows generated in Go, and reading directly from data files such as Parquet, CSV, and JSON. Both are described below. For in
...ty for the default) and table name: connector, err := duckdb.NewConnector("test.db", nil) if err != nil { log.Fatal(err) } defer connector.Close() conn, err := connector.Connect(context.Background()) if err != nil { log.Fatal(err) } defer conn.Close()...table must already exist. appender, err := duckdb.NewAppenderFromConn(conn, "", "users") if err != nil { log.Fatal(err) } defer appender.Close() // Each argument is one column value, in table column order. if err := appender.AppendRow("Fred", int32(3..." "github.com/duckdb/duckdb-go/v2" ) func main() { c, err := duckdb.NewConnector("", nil) if err != nil { log.Fatal(err) } defer c.Close() con, err := c.Connect(context.Background()) if err != nil { log.Fatal(err) } defer con.Close() db := sql.OpenDB(... - https://man.mtool.work/duckdb/2.0/clients/go/data_import.html
- Write User Defined Functions 10100
- Overview The Go client can register user-defined functions written in Go: scalar functions that map input rows to a single output value, and table functions that produce a set of rows. It can also register a replacement scan that rewrites a
...any, error) { return int32(len(values[0].(string))), nil }, } } func main() { db, err := sql.Open("duckdb", "") check(err) defer db.Close() conn, err := db.Conn(context.Background()) check(err) defer conn.Close() var udf *varcharLen check(duckdb.Regis...ardinalityInfo{Cardinality: uint(udf.tableSize), Exact: true} } func main() { db, err := sql.Open("duckdb", "") check(err) defer db.Close() conn, err := db.Conn(context.Background()) check(err) defer conn.Close() t, err := duckdb.NewTypeInfo(duckdb.TY...UDF(conn, "increment", udf)) rows, err := db.QueryContext(context.Background(), `SELECT * FROM increment(100)`) check(err) defer rows.Close() } SELECT * FROM increment(100); For a function whose scan can run on several threads, implement duckdb.Parall... - https://man.mtool.work/duckdb/2.0/clients/go/functions.html
- Handle Results 10011
- Overview DuckDB is columnar, and beyond reading a result set row by row through database/sql , the Go client can exchange whole results with Apache Arrow as a stream of record batches, and register an Arrow stream as a queryable view. Both
...Batch at a time, and release it when done: connector, err := duckdb.NewConnector("", nil) if err != nil { log.Fatal(err) } defer connector.Close() conn, err := connector.Connect(context.Background()) if err != nil { log.Fatal(err) } defer conn.Close()...der, err := ar.QueryContext(context.Background(), "SELECT * FROM generate_series(1, 10)") if err != nil { log.Fatal(err) } defer reader.Release() for reader.Next() { record := reader.RecordBatch() // Process one record batch at a time. log.Printf("%d...en the view is no longer needed: release, err := ar.RegisterView(reader, "my_arrow_view") if err != nil { log.Fatal(err) } defer release() result, err := ar.QueryContext(context.Background(), "SELECT count(*) FROM my_arrow_view") DuckDB scans the regi... - https://man.mtool.work/duckdb/2.0/clients/go/result_handling.html
- Profile and Monitor 8938
- Overview The Go client can observe query execution: it can retrieve per-operator profiling metrics after a query runs, and register a log storage that receives DuckDB's log messages. Both are described below. Profiling Profiling information
...n the query to profile, then read the result with duckdb.GetProfilingInfo() : db, err := sql.Open("duckdb", "") check(err) defer db.Close() conn, err := db.Conn(context.Background()) check(err) defer conn.Close() // Do not print profiling output to st...ltLoggerCallback receives each entry's level, type, and message: connector, err := duckdb.NewConnector("", nil) check(err) defer connector.Close() err = duckdb.RegisterLogStorage(connector, "my_log_storage", duckdb.LoggerCallbacks{ DefaultLoggerCallba... - https://man.mtool.work/duckdb/2.0/clients/go/profiling.html
- ADBC Client 8652
- Installation To use the DuckDB ADBC client, download the libduckdb archive for your platform and follow the instructions below . For Python, install the duckdb package instead, as described in the Python section . The latest stable version
...Record { b := array.NewFloat64Builder(memory.DefaultAllocator) b.AppendValues([]float64{1, 2, 3}, nil) col := b.NewArray() defer col.Release() defer b.Release() schema := arrow.NewSchema([]arrow.Field{{Name: "column1", Type: arrow.PrimitiveTypes.Float....Reader) error { rdr, err := ipc.NewReader(sr) if err != nil { return fmt.Errorf("failed to create IPC reader: %w", err) } defer rdr.Release() _, err = adbc.IngestStream(r.ctx, r.conn, rdr, "temp_table", adbc.OptionValueIngestModeCreate, adbc.IngestSt...) { stmt, err := r.conn.NewStatement() if err != nil { return nil, fmt.Errorf("failed to create new statement: %w", err) } defer stmt.Close() if err := stmt.SetSqlQuery(sql); err != nil { return nil, fmt.Errorf("failed to set SQL query: %w", err) } ou... - https://man.mtool.work/duckdb/2.0/clients/adbc.html
- Run Queries 7580
- Overview Because the Go client implements database/sql , queries run through the standard methods: Exec and ExecContext send statements that do not return rows, such as INSERT or DDL, and report the number of affected rows. Query , QueryCon
...no longer needed: stmt, err := db.PrepareContext(ctx, `INSERT INTO users VALUES (?, ?)`) if err != nil { log.Fatal(err) } defer stmt.Close() for _, u := range users { if _, err := stmt.ExecContext(ctx, u.name, u.age); err != nil { log.Fatal(err) } }...ition: rows, err := db.QueryContext(ctx, `SELECT name, age FROM users WHERE age > ?`, 30) if err != nil { log.Fatal(err) } defer rows.Close() for rows.Next() { var ( name string age int ) if err := rows.Scan(&name, &age); err != nil { log.Fatal(err) }... - https://man.mtool.work/duckdb/2.0/clients/go/querying.html
- Appender 7097
- The Appender can be used to load bulk data into a DuckDB database. It is available in the C, C++, Go, Java, Julia, Node.js, Python, and Rust clients. This page describes how the Appender behaves across clients and shows a minimal example in
...nection to NewAppenderFromConn() , then add rows with AppendRow() : appender, err := NewAppenderFromConn(conn, "", "test") defer appender.Close() err = appender.AppendRow(1, "hello") // Optional, if you want to access the appended rows immediately. er... - https://man.mtool.work/duckdb/2.0/data/appender.html
- Go Client 7007
- The latest stable release of the DuckDB Go client bundles DuckDB 2.0.0. Its own version tag encodes that DuckDB version; see Versioning below. The DuckDB Go client, duckdb-go , is a SQL driver that conforms to Go's built-in database/sql int
...log" _ "github.com/duckdb/duckdb-go/v2" ) func main() { db, err := sql.Open("duckdb", "") if err != nil { log.Fatal(err) } defer db.Close() _, err = db.Exec(`CREATE TABLE people (id INTEGER, name VARCHAR)`) if err != nil { log.Fatal(err) } _, err = db... - https://man.mtool.work/duckdb/2.0/clients/go/overview.html
- Pragmas 6811
- The PRAGMA statement is a SQL extension adopted by DuckDB from SQLite. PRAGMA statements can be issued in a similar manner to regular SQL statements. PRAGMA commands may alter the internal state of the database engine, and can influence the
...ED'; The accepted values are ENABLED (request a checkpoint on detach), DISABLED (never checkpoint on detach), and DEFAULT (defer to the global checkpoint_on_shutdown behavior). A requested checkpoint still does not occur while another connection refer... - https://man.mtool.work/duckdb/2.0/configuration/pragmas.html
PREV
1
NEXT
DuckDB 2.0 Documentation / man.mtool.work