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

Reply via email to