CopyQ icon indicating copy to clipboard operation
CopyQ copied to clipboard

Large storage capacity.

Open luapfr opened this issue 5 years ago • 8 comments

I see that you should now focus on a good way to store data, instead of creating new features, as I see that CopyQ already has many features, but it is deficient in data storage as well as slow when it has several images.

I know that this implementation is not easy because I am a programmer, but it is something that can make CopyQ the best in the category, you could take a break in new features to implement a new version with SQLite database.

I'm sorry for creating this new topic but I consider CopyQ very good but I'm using ClipAngel for its robustness in many registries.

luapfr avatar Sep 02 '20 16:09 luapfr

This wouldn't only mean changing the data storage but also implementing some item unloading from memory when browsing a tab with many items.

From my perspective this is too much work and I'm not planning spend time on this any time soon. I'm still keeping this in mind if there is nice/simpler solution.

hluk avatar Sep 04 '20 13:09 hluk

I understand your point of view.

The big question is that you created something fantastic, full of features, and I see that if you are going to pay attention to all the new features that ask you for it has no end, you will be creating new features forever.

I see that CopyQ is very good when it comes to saving data in Tabs and still having the password option, adding to a light and efficient database like SQLite or Firebird, we would have an inclusive tool for saving information for a long time and with agility.

Congratulations for the excellent work done.

luapfr avatar Sep 04 '20 13:09 luapfr

A great feature that CopyQ should have would be to store the information in an SQLLite database.

vagnercalassara avatar Sep 11 '20 14:09 vagnercalassara

I agree with this. I love CopyQ, the only thing that miss to satisfy me is that it's lagging (or crashing) when I have a lot of item, I fear to loose my data some day ! I'll pay for the robustness, you can be charging for CopyQ. I'll check ClipAngel, thanks and thank you for the wonderful work as well :)

dianedef avatar Nov 29 '20 09:11 dianedef

Hello how are you.

any news about it? I believe that CopyQ already has many features, now it would be time to work with SQLite databases.

That would be show and would make CopyQ very robust.

luapfr avatar Apr 16 '22 13:04 luapfr

I've created a simple clipboard manager in Python (and Qt framework) that uses SQLite database: https://github.com/hluk/infinitecopy/

But the DB schema this simple app uses is incomplete, uses only one tab and is missing DB indexes for fast item lookup. It is also unclear how to handle migrations to newer versions. But this is a start and since it is written in Python, it is much easier to hack/modify the code and test new ideas and features.

Having this feature in CopyQ is still a lot of work. Not sure if I will be able to look into this. I would need to figure for example:

  • design full DB schema - tables for tabs/items and DB index for item texts, formats and possibly hashes and timestamps
  • how to handle any future DB schema migrations
  • how to migrate existing tab data files to the DB
  • ensure compatibility between different OSes and Qt versions

hluk avatar Apr 20 '22 08:04 hluk

I don't think the colleague should worry about migrating data from the current CopyQ in TXT to a new CopyQ with SQLite

Even because it's just simple data that was copied from the clipboard.

I see that I could simply make CopyQ work with SQlite and users who want to use CopyQ with SQLite could upgrade to a new version aware that they would lose their saved data or continue using the old version with TXT data.

And Colleague could put a warning on the Site that the new version using SQLite is incompatible with the old version that uses data in simple TXT form.

luapfr avatar Apr 20 '22 10:04 luapfr

I don't think the colleague should worry about migrating data from the current CopyQ in TXT to a new CopyQ with SQLite

Just to clarify: The current format CopyQ uses to store data is custom binary file format.

And Colleague could put a warning on the Site that the new version using SQLite is incompatible with the old version that uses data in simple TXT form.

There are many channels frequently used to upgrade the application (using package managers and 3rd party webs hosting the executable) and it would not be possible to have a warning show up everywhere. As a user I would not be happy if my data suddenly gone missing.

I believe CopyQ is the kind of app which needs to make sure all data are converted to the new format at start - ideally also with a warning that it won't be possible to used the new data after downgrading and asking user for the permission to remove the old data.

hluk avatar Apr 20 '22 12:04 hluk