Using DBTagStore

Hi,

Last year I developed a driver using the SimpleTagProvider API. It has been working well but now we are in need of more control of some aspects, such as how tags are stored/loaded after a restart.

I’ve looked at how SimpleTagProvider(Internal) is implemented and the internal database is one way to go.

But we are also interested to implement something like an external driving provider. In this way our driver can create/edit tags, and we can also create/edit through designer or externally through SQL.

From the javadocs, it seems like DBTagStore is the way to go. I’m starting to play around with it but wanted to know of any special considerations as the javadocs aren’t very complete here.

Cheers
Ivan

So far DBTagStore has been working well, I have a small question though.

When I delete a Tag, the database row is marked with “deleted=1” and I get the appropriate notification.

However, this row stays there forever. When I restart the module, I get calls that the Tag has been deleted. Is there a straightforward way to “clean” deleted entries, or should I connect to the database and delete those rows manually?

Cheers
Ivan

Hi,

Yes, it’s a bit of an oversight, but those rows aren’t currently being deleted. Theoretically the each driver should delete the rows for its tags after seeing the delete (or on startup, etc). You can delete the rows yourself if you want. The only thing to watch out for is to not delete rows that haven’t been seen yet, but that should be fairly easy to avoid.

Regards,