[odb-users] sqlite mismatch in result column count
MM
finjulhich at gmail.com
Mon Sep 14 05:56:36 EDT 2015
Hello,
This assertion, from sqlite, gets triggered:
statement.cxx:331: bool odb::sqlite::statement::bind_result(const
odb::sqlite::bind*, size_t, bool): Assertion `col == col_count' failed.
Looking at the source code, there are 3 variables that relate to column
count:
bool statement::
bind_result (const bind* p, size_t count, bool truncated)
{
}
1. The 'count' argument of bind_result: looking at the core file, its
value is 4
2. col_count: I couldn't find its value from the core file. Is it the
expected number of columns that is deduced from the SQL query before it is
executed?
If so, that number is 4 also.
3. col, I suppose this is the actual number of columns that is returned
after executing the SQL query. I traced the odb query, executed the SQL
query I see traced out, it has 4 columns, and the result also includes 4
columns.
4. The query is the result of a call: db.query<F>();
F is a struct, where the number of non transient fields overall is 4 as
well.
F(2 virtual members) derives from B1(odb abstract, 1 member) which
derives from B0(odb abstract, 1 member).
I will try to printout the values of those variables in my locally modified
libodb-sqlite to see what's going on.
Rds,
More information about the odb-users
mailing list