Hi All,
For the longest time, I have been using SELECT COUNT(*) to get the total number of rows for any SELECT statement.
But this one is weird:
select count(*) as totrecs from pihdr a left join supplier b on a.supplierid=b.id left join ewtax c on a.ewtaxid=c.id left join jthdr d on a.jthdrid=d.id
In my ODBC trace log, this is what I found:
DIAG [01000] [MySQL][ODBC 8.0(w)Driver][mysqld-8.0.30]The number of attributes is larger than the number of attribute values provided (500)
The offending statement does not even show in the ODBC Trace log.
That is why I tried substituting it with (which is already deprecated):
select SQL_CALC_FOUND_ROWS * from pihdr a left join supplier b on
a.supplierid=b.id left join ewtax c on a.ewtaxid=c.id left join jthdr d
on a.jthdrid=d.id
select FOUND_ROWS() as totrecs
Still yields same error.
My code works with MySQL ODBC 8.0.30 and MySQL Server 5.7.37 perfectly... when I run it with MySQL ODBC 8.0.30 and MySQL Server 8.0.30.. that is where the error appear...
I was going to move up to MySQL 8.0.x. So I guess I have to wait for some resolution to this.
I have also filed it in the MySQL bugs database.