I found that maybe is not the number of columns, it's maybe the names of the columns that got a coincidence with "isc_info_sql_stmt_type", so after the first run in the for, tha variable stmt_type is resetted with 0 and this 0 affect when trying to fetch the data.
Hi,
I was able to reproduce the problem, based on some comentaries of the #64 I found some differences with the Python code in the function parse_xsqlda (this python file https://github.com/nakagami/pyfirebirdsql/blob/master/firebirdsql/xsqlvar.py).
So I changed the code and made a test case.
I found that maybe is not the number of columns, it's maybe the names of the columns that got a coincidence with "isc_info_sql_stmt_type", so after the first run in the for, tha variable stmt_type is resetted with 0 and this 0 affect when trying to fetch the data.
I hope it helps.