The current version of isql uses the old API. As a result, we have a limit on the width of the sample in the 64K, and the length of the query. A simple example demonstrates this:
select lpad('', 30000, '1') as f1,
lpad('', 30000, '1') as f2,
lpad('', 15000, '1') as f3
Statement failed, SQLSTATE = 07002
SQL error code = -804
-SQLDA missing or incorrect version, or incorrect number/type of variables
In Firebird appeared packages, their body can be quite long. And it turns out that to run the script through isql to create the package will not work longer than 64K. Dmitry Yemanov also spoke about the fact that it is desirable that isql able to dynamically load a library fbclient in order to be able to work with the old version.