(ctx context.Context, db *sql.DB, query string, schema *arrow.Schema, args ...interface{})
| 487 | |
| 488 | func doGetQuery(ctx context.Context, db *sql.DB, query string, schema *arrow.Schema, args ...interface{}) (*arrow.Schema, <-chan flight.StreamChunk, error) { |
| 489 | |
| 490 | conn, err := db.Conn(ctx) |
| 491 | var duckConn *duckdb.Conn |
| 492 | err = conn.Raw(func(driverConn any) error { |
| 493 | duckConn = driverConn.(*duckdb.Conn) |
| 494 | return nil |
| 495 | }) |
| 496 | arrow, err := duckdb.NewArrowFromConn(duckConn) |
| 497 | if err != nil { |
| 498 | return nil, nil, err |
| 499 | } |
| 500 | rdr, err := arrow.QueryContext(ctx, query, args...) |
| 501 | if err != nil { |
| 502 | return nil, nil, err |
| 503 | } |
| 504 | schema = rdr.Schema() |
| 505 | ch := make(chan flight.StreamChunk) |
| 506 | go flight.StreamChunksFromReader(ctx, rdr, ch) |
| 507 | return schema, ch, nil |
| 508 | } |
| 509 | |
| 510 | func (s *SQLiteFlightSQLServer) DoGetPreparedStatement(ctx context.Context, cmd flightsql.PreparedStatementQuery) (schema *arrow.Schema, out <-chan flight.StreamChunk, err error) { |
| 511 | val, ok := s.prepared.Load(string(cmd.GetPreparedStatementHandle())) |
| 512 |
no test coverage detected