duckdb-rs icon indicating copy to clipboard operation
duckdb-rs copied to clipboard

column_count can panic

Open Timmmm opened this issue 1 year ago • 2 comments

Statement::column_count() just returns a usize, yet it can easily fail. In that case it panics because it calls result_unwrap() as shown by this backtrace.

   4: duckdb::raw_statement::RawStatement::result_unwrap
             at .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/duckdb-0.9.2/src/raw_statement.rs:72:9
   5: duckdb::raw_statement::RawStatement::column_count
             at .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/duckdb-0.9.2/src/raw_statement.rs:168:49
   6: duckdb::column::<impl duckdb::statement::Statement>::column_count
             at .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/duckdb-0.9.2/src/column.rs:49:9

All I did was this:

    let mut stmt = conn.prepare(&sql)?;
    let cols = stmt.column_count();

There's no indication that that will panic!

Timmmm avatar Feb 08 '24 20:02 Timmmm

Hi team, facing with the same issue here, is there any solution now?

pengye91 avatar Jul 22 '24 07:07 pengye91

Can column_count be called after prepare or it can be called only after execute/query?

gmosx avatar Aug 27 '24 19:08 gmosx