Sqlite database names

This isn’t a help request - I’m just curious about a change.

I noticed recently (around 2.0.4.x releases) that new job databases seem to be all numeric (such as 89677133708265797163.sqlite) where they used to be alpha based (such as CTPKXALMSD.sqlite).

The “global” database file is still Duplicati-server.sqlite and backups (usually created as part of a Repair or Recreate) are still timestamped (such as backup 20190106091829.sqlite).

What’s the reasoning behind the naming change?

The code that generates the alphabetic names is still there:

It does use the --backup-name parameter if that is set:

So maybe there is a change that started setting this parameter?

I suspect this change inadvertently put characters into the string as their two-digit decimal representation.

Random.Next

A 32-bit signed integer

StringBuilder.Append

Appends the string representation of a specified 32-bit signed integer to this instance.

http://www.asciitable.com/
says expect numbers 65-90 inclusive. Easy way to get a hint is to sort by name and read leading 2 digits. For a full-string study, one can go left to right 2 digits at a time. Breaking name in an editor may be easier.

3 Likes

Ah… the new code is missing the cast to char() isn’t it…

Spot on. I fixed it: Revert to alphabetic db names by kenkendk · Pull Request #3723 · duplicati/duplicati · GitHub

1 Like