On 12/6/19, Octopus ZHANG <zhangysh1...@gmail.com> wrote: > Hi all, > > > I'm trying to fuzz sqlite, and I found the following query was executed for > more than one minute. (./sqlite3 < query.sql)
This is not a bug or a problem. SQLite is doing exactly what you asked it to do, which is to generate a string that is 1000000000000003 bytes long. That takes time, even on a fast machine. (Actually, SQLite will error-out with an over-length string error at some point, but it still takes some time to reach that point.) > >>> SELECT > printf('%*.*c',90000||006000000&6600000000,1000000000000003)""WHERE""/""; > > I also turned on the timer, but no time was printed. So I used `time` to > record: > +------+-----------+ > | real | 1m38.036s | > | user | 1m36.086s | > | sys | 0m1.948s | > +------+-----------+ > > Here is how to reproduce: > > OS: Linux 18.04.3 LTS, 4.15.0-65-generic > SQLite version 3.30.1 2019-10-10 20:19:45 (used default command to build) > > > Yushan > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > -- D. Richard Hipp d...@sqlite.org _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users