Today 10 years ago; SQlite reversed their temp file prefix into etilsq_ from sqlite_; why? Harassement.
Posted by jpluimers on 2026/11/03
Choose your prefixes by default, especially if you name them after someone else’s product.
In this case, SQLite suffered from McAfee starting to use sqlite_ as prefix for temporary files in 2016.
SQLite had been using that prefix for a long time, and properly cleaned up these files during application shutdown.
McAfee didn’t cleanup after themselves which, after a long track record of dissatisfying users – [Wayback/Archive] The McAfee update mess explained | Reuters – wasn’t an incident, didn’t surprise techies, but prompted regular users to blame SQLite, some even tracking down their developers and call harass them.
McAfee apparently was deaf for a warning that then had been present for more than 10 years, as this got changed change in 20040522:
- [Wayback/Archive] Split up os.c into separate files, one for each platform. (CVS 1441) · sqlite/sqlite@bbd42a6 · GitHub move the below from the top to in the middle of [Wayback/Archive] sqlite/src/os.h at bbd42a6dda2d0b579d22b846c79a765ebc80bec9 · sqlite/sqlite · GitHub:
** Temporary files are named starting with this prefix followed by 16 random
** alphanumeric characters, and no file extension. They are stored in the
** OS's standard temporary file directory, and are deleted prior to exit.
** If sqlite is being embedded in another program, you may wish to change the
** prefix to reflect your program's name, so that if your program exits
** prematurely, old temporary files can be easily identified. This can be done
** using -DTEMP_FILE_PREFIX=myprefix_ on the compiler command line.[Wayback/Archive] raw.githubusercontent.com/sqlite/sqlite/bbd42a6dda2d0b579d22b846c79a765ebc80bec9/src/os.h
and this change on 20030108 (yup, then 13 years ago):
- [Wayback/Archive] Port ot MacOS Classic. Ticket #218. (CVS 820) · sqlite/sqlite@820f381 · GitHub towards the top of
** Temporary files are named starting with this prefix followed by 16 random
** alphanumeric characters, and no file extension. They are stored in the
** OS's standard temporary file directory, and are deleted prior to exit.
** If sqlite is being embedded in another program, you may wish to change the
** prefix to reflect your program's name, so that if your program exits
** prematurely, old temporary files can be easily identified. This can be done
** using -DTEMP_FILE_PREFIX=myprefix_ on the compiler command line.[Wayback/Archive] raw.githubusercontent.com/sqlite/sqlite/820f3812d88d964358267bbac52fde1806363326/src/os.h
Hey, that’s the same paragraph that McAfee ignored!
This forced SQLite made a change in [Wayback/Archive] Change the default temp file prefix to be “sqlite” spelled backwards. · sqlite/sqlite@fd288f3 · GitHub in the middle of [Wayback/Archive] sqlite/src/os.h at fd288f3549a1ab9a309a9e120d46319d42adea29 · sqlite/sqlite · GitHub
** 2006-10-31: The default prefix used to be "sqlite_". But then
** Mcafee started using SQLite in their anti-virus product and it
** started putting files with the "sqlite" name in the c:/temp folder.
** This annoyed many windows users. Those users would then do a
** Google search for "sqlite", find the telephone numbers of the
** developers and call to wake them up at night and complain.
** For this reason, the default name prefix is changed to be "sqlite"
** spelled backwards. So the temp files are still identified, but
** anybody smart enough to figure out the code is also likely smart
** enough to know that calling the developer will not help get rid
** of the file.[Wayback/Archive] raw.githubusercontent.com/sqlite/sqlite/fd288f3549a1ab9a309a9e120d46319d42adea29/src/os.h
So now you know that if an application uses SQLite and crashes, you might want to delete temporary files prefixed with etilqs_.
--jeroen






Leave a Comment