via: @memes@wetdry.world

https://wetdry.world/@memes/112717700557038278

the sqlite codebase is a gem.

tldr; mcaffee made a shit ton of sqlite files in the temp folder causing people to call the sqlite devs phone angrily. now they name all files etilqs to prevent this.

Text from the screenshot:

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.

Code found at: https://github.com/sqlite/sqlite/blob/master/src/os.h#L65 (The line numbers in the screenshot and the code don’t match up)

  • bleistift2
    link
    fedilink
    English
    arrow-up
    51
    arrow-down
    1
    ·
    edit-2
    4 months ago

    Forgive my ignorance. SQLite is a database software. Why would McAffee create lots of database files?

    [Edit:] I’m not asking why a program needs to store data. I’m asking why that necessitates many files. One database file (or one per table) should be enough, right?

    • qaz@lemmy.world
      link
      fedilink
      arrow-up
      62
      ·
      5 months ago

      Many programs use SQLite internally and McAfee decided to store the database files in C:/Temp

      • 7uWqKj@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        4 months ago

        No, these are sqlite temp files, not the database files. McAfee had no control over the temp files.

    • towerful@programming.dev
      link
      fedilink
      arrow-up
      51
      ·
      5 months ago

      Sqlite is a great embedded database.
      If you are storing lots and lots of information in a JSON file, CSV file, or coming up with your own serialisation… Chances are, sqlite is going to do it better.
      I know loads of android apps use sqlite for storage. I’ve also managed to open quite a few programmes “proprietary” file format in sqlite.

    • Michal@programming.dev
      link
      fedilink
      arrow-up
      21
      arrow-down
      1
      ·
      4 months ago

      The program needs to store multiple temporary files (one per virus definition update, or scan results or whatever purpose).

      It looks like they simply picked sqlite as a format because the data has a structured format and that way they leverage databases robustness, easiness to read and query the data.

      The comment appears to be from 2006. Sqlite mightve had some limitations then that necessitated creating a new (temporary) database file as a subset of larger database for performance reasons or to allow multiple processes to read/write them and then consolidate data back into the single database.

      • bleistift2
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        2
        ·
        5 months ago

        Does sqlite create a file for every page in the table or what?

    • GBU_28@lemm.ee
      link
      fedilink
      English
      arrow-up
      4
      ·
      5 months ago

      Al sorts of applications would enjoy a database to log all sorts of stuff, store results, capture events, etc.

      SQLite is great because it doesn’t necessitate another infra dependency as it is stored to file